国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C#學習系列-out與ref的區別

2019-11-17 02:58:48
字體:
來源:轉載
供稿:網友

C#學習系列-out與ref的區別

參考:http://www.microsoftvirtualacademy.com/Content/ViewContent.aspx?et=9851&m=9839&ct=31056

如有錯誤,歡迎指正

Out和Ref作為參數傳遞到方法體中,所傳遞的都是引用地址,兩者在操作上本身沒有區別。

但Out傳遞到方法體時,參數會清空,這意味著在方法體內使用Out參數前必須賦值。

而Ref傳遞到方法體時,其參數也是一起被傳遞進來,所以作為Ref參數傳遞,方法體中可以不對其參數賦值。

下面貼代碼

    class PRogram    {        /*ref是有進有出,out是只出不進*/        static void Main(string[] args)        {            /*作為Out參數傳遞 傳遞前可以不初始化*/            string outString = "This is the  outString value";            Console.WriteLine(outString);            outMethod(out outString);            Console.WriteLine(outString);            /*作為Ref參數傳遞 傳遞前必須初始化*/            string refString = "This is the refString value";            Console.WriteLine(refString);            refMethod(ref refString);            Console.WriteLine(refString);            Console.ReadLine();        }        static bool outMethod(out string str)        {            /*作為Out參數傳遞 傳遞到方法體后 參數被清空*/            //Console.WriteLine(str); Use of unassigned out parameter 'str'             /*作為Out參數傳遞 值必須在方法體內賦值*/            /*作為Out參數傳遞 返回前值必須初始化*/            str = "This is the new outString value";            return true;        }        static bool refMethod(ref string str)        {            Console.WriteLine(str);            /*作為Ref參數傳遞 返回前值可以不初始化*/            return true;        }    }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 望都县| 宜章县| 灵宝市| 犍为县| 团风县| 郧西县| 通城县| 乐清市| 云和县| 剑川县| 会昌县| 道真| 吉首市| 唐海县| 蓬安县| 山西省| 沾化县| 东兰县| 临泽县| 定西市| 城市| 嘉峪关市| 繁峙县| 高雄县| 应城市| 金坛市| 武威市| 永春县| 府谷县| 和硕县| 靖江市| 兴宁市| 岳池县| 金堂县| 灌南县| 莲花县| 历史| 浦江县| 衡南县| 旌德县| 民乐县|