c中out的用法
c中out的用法
下面小編就跟你們?cè)敿?xì)介紹下c中out的用法的用法,希望對(duì)你們有用。
c中out的用法的用法如下:
在C#這門(mén)高級(jí)語(yǔ)言中,你是否注意過(guò)ref與out的用法?你是否為在調(diào)用方法時(shí)需要多個(gè)返回值呢?不用急,接下來(lái),我們?nèi)ヒ黄鹑パ芯恳幌逻@個(gè)問(wèn)題。。。
其實(shí)呢,C#語(yǔ)言中,參數(shù)的傳遞一共有兩種方法,值傳遞和引用傳遞。
而ref與out這兩種方式都屬于引用傳遞,只是他們的用法稍有不同。
ref的特點(diǎn)是有進(jìn)有出,即在傳遞參數(shù)之前就已經(jīng)對(duì)它進(jìn)行賦值,在傳入方法體時(shí),是將該數(shù)的地址傳了進(jìn)來(lái),如果對(duì)其進(jìn)行相應(yīng)的賦值操作,直接改的是地址里的值,所以,當(dāng)該方法執(zhí)行完,該數(shù)的值也就跟著改變了。
代碼如下:
static void Main(string[] args)
{
int i = 10;
FF( ref i);
Console.WriteLine(i);
}
static void FF(ref int i)
{
i = i + 1;
}
而out與ref的唯一區(qū)別是,在方法接收參數(shù)后,對(duì)它進(jìn)行初始化(如果沒(méi)有初始化,將會(huì)報(bào)錯(cuò)的),其余的用法都和ref一樣。
代碼如下:
static void Main(string[] args)
{
int i ;
FF( out i);
Console.WriteLine(i);
}
static void FF(out int i)
{
i=10; //如果沒(méi)有這個(gè)賦值,系統(tǒng)將會(huì)報(bào)錯(cuò)的
i = i + 1;
}
其實(shí),個(gè)人認(rèn)為,在平時(shí)用的時(shí)候,ref與out的區(qū)別并沒(méi)有那么明顯,從性能上分析的話,有時(shí)out會(huì)好點(diǎn)。