C#中out與ref的差別實例解析。本站提示廣大學習愛好者:(C#中out與ref的差別實例解析)文章只能為提供參考,不一定能成為您想要的結果。以下是C#中out與ref的差別實例解析正文
本文實例講述了C#中Out與Ref的差別,可以加深C#法式設計人員對Out和Ref用法的懂得,詳細剖析以下:
1、差別剖析:
Out和Ref作為參數傳遞到辦法體中,所傳遞的都是援用地址,二者在操作上自己沒有差別。
但Out傳遞到辦法體時,參數會清空,這意味著在辦法體內應用Out參數前必需賦值。
而Ref傳遞到辦法體時,其參數也是一路被傳遞出去,所以作為Ref參數傳遞,辦法體中可以纰謬其參數賦值。
2、實例代碼以下:
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; } }
願望本文所述實例對年夜家C#法式設計有必定的贊助。