不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦 > 學(xué)習(xí)英語(yǔ) > 專業(yè)英語(yǔ) > 計(jì)算機(jī)英語(yǔ) > c中out的用法

c中out的用法

時(shí)間: 長(zhǎng)思709 分享

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)。

537226