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#法式設計有必定的贊助。