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

首頁 > 編程 > C# > 正文

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

2020-01-24 00:43:35
字體:
來源:轉載
供稿:網友

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

廢話不多說,直接進入正題。首先我們知道ref關鍵字是將值傳遞變為引用傳遞,那么我們先來看看ref locals(ref局部變量)

列子代碼如下:

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

這段代碼最終輸出 "2"

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

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

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

這個功能其實是非常有用的,我們可以把值類型當作引用類型來進行return。

老規矩,我們舉個栗子,代碼如下:

很簡單的邏輯..獲取指定數組的指定下標的值

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

我們編寫測試代碼如下:

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

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

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

好了,就這么多。

謝謝大家的捧場。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宝鸡市| 扎囊县| 佛冈县| 神木县| 拜城县| 忻州市| 南召县| 南康市| 梁河县| 南岸区| 多伦县| 宜阳县| 开远市| 隆林| 迁西县| 昆山市| 大悟县| 东莞市| 神农架林区| 平顺县| 临猗县| 什邡市| 杭州市| 博乐市| 邓州市| 江津市| 黔西县| 讷河市| 青海省| 任丘市| 东乡县| 拜城县| 南宫市| 固安县| 常山县| 措勤县| 东丰县| 云阳县| 久治县| 江孜县| 广汉市|