首頁 > 後端開發 > C#.Net教程 > C# 7.0 中的 Ref 局部變數和 Ref 回傳值是什麼?

C# 7.0 中的 Ref 局部變數和 Ref 回傳值是什麼?

PHPz
發布: 2023-09-11 22:37:02
轉載
824 人瀏覽過

C# 7.0 中的 Ref 局部变量和 Ref 返回值是什么?

引用傳回值允許方法傳回變數的引用,而不是 比一個值。

呼叫者可以選擇將傳回的變數視為由 值或引用。

呼叫者可以建立一個新變量,該變數本身就是對傳回值的引用,稱為 ref local。

在下面的範例中,即使我們修改了顏色沒有任何影響 原始陣列顏色

範例

class Program{
   public static void Main(){
      var colors = new[] { "blue", "green", "yellow", "orange", "pink" };
      string color = colors[3];
      color = "Magenta";
      System.Console.WriteLine(String.Join(" ", colors));
      Console.ReadLine();
   }
}
登入後複製

輸出

blue green yellow orange pink
登入後複製

為了實現這一點,我們可以使用ref locals

範例

public static void Main(){
   var colors = new[] { "blue", "green", "yellow", "orange", "pink" };
   ref string color = ref colors[3];
   color = "Magenta";
   System.Console.WriteLine(String.Join(" ", colors));
   Console.ReadLine();
}
登入後複製

輸出

blue green yellow Magenta pink
登入後複製
登入後複製

Ref 傳回 -

在下面的範例中,即使我們修改顏色,它也不會產生任何影響 原始陣列顏色

範例

class Program{
   public static void Main(){
      var colors = new[] { "blue", "green", "yellow", "orange", "pink" };
      string color = GetColor(colors, 3);
      color = "Magenta";
      System.Console.WriteLine(String.Join(" ", colors));
      Console.ReadLine();
   }
   public static string GetColor(string[] col, int index){
      return col[index];
   }
}
登入後複製

輸出

blue green yellow orange pink

Example

class Program{
   public static void Main(){
      var colors = new[] { "blue", "green", "yellow", "orange", "pink" };
      ref string color = ref GetColor(colors, 3);
      color = "Magenta";
      System.Console.WriteLine(String.Join(" ", colors));
      Console.ReadLine();
   }
   public static ref string GetColor(string[] col, int index){
      return ref col[index];
   }
}
登入後複製

#輸出

blue green yellow Magenta pink
登入後複製
登入後複製

以上是C# 7.0 中的 Ref 局部變數和 Ref 回傳值是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板