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

首頁 > 編程 > C# > 正文

C# 7.0之ref locals and returns(局部變量和引用返回)

2019-10-29 21:12:27
字體:
供稿:網(wǎng)友

沒看過原文的請(qǐng)移步: [干貨來襲]C#7.0新特性(VS2017可用)

廢話不多說,直接進(jìn)入正題。首先我們知道ref="/kaifa/javascript/33683.html">ref關(guān)鍵字是將值傳遞變?yōu)橐脗鬟f,那么我們先來看看ref locals(ref局部變量)

列子代碼如下:

static void Main(string[] args)  {   int x = 3;   ref int x1 = ref x; //注意這里,我們通過ref關(guān)鍵字 把x賦給了x1   x1 = 2;   Console.WriteLine($"改變后的變量 {nameof(x)} 值為: {x}");   Console.ReadLine();  }

這段代碼最終輸出 "2"

大家注意注釋的部分,我們通過ref關(guān)鍵字把x賦給了x1,如果是值類型的傳遞,那么對(duì)x將毫無影響,還是輸出3.

好處不言而喻,在某些特定的場(chǎng)合,我們可以直接用ref來引用傳遞,減少了值傳遞所需要開辟的空間.

接下來我們看看ref  returns (ref引用返回)

這個(gè)功能其實(shí)是非常有用的,我們可以把值類型當(dāng)作引用類型來進(jìn)行return。

老規(guī)矩,我們舉個(gè)栗子,代碼如下:

很簡單的邏輯..獲取指定數(shù)組的指定下標(biāo)的值

static ref int GetByIndex(int[] arr, int ix) => ref arr[ix]; //獲取指定數(shù)組的指定下標(biāo)

我們編寫測(cè)試代碼如下:

   int[] arr = { 1, 2, 3, 4, 5 };   ref int x = ref GetByIndex(arr, 2); //調(diào)用剛才的方法   x = 99;   Console.WriteLine($"數(shù)組arr[2]的值為: {arr[2]}");   Console.ReadLine();

我們通過ref返回引用類型,在重新賦值,arr數(shù)組中的值,相應(yīng)也改變了。

總結(jié)一下:ref關(guān)鍵字很早就存在了,但是他只能用于參數(shù),這次C#7.0讓他不僅僅只能作為參數(shù)傳遞,,還能作為本地變量和返回值了

好了,就這么多。

謝謝大家的捧場(chǎng)。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到c#教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 务川| 怀来县| 金堂县| 乐昌市| 柞水县| 五原县| 隆子县| 平和县| 教育| 遂平县| 晋城| 万载县| 昭通市| 成武县| 安顺市| 泽普县| 肥城市| 福泉市| 万州区| 六枝特区| 宁强县| 青冈县| 贞丰县| 诸暨市| 娱乐| 贵州省| 通江县| 宁海县| 方山县| 岳池县| 霍州市| 兴义市| 北川| 武陟县| 新津县| 平乐县| 会同县| 麻江县| 堆龙德庆县| 商城县| 松原市|