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

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

PHPz
PHPz轉載
2023-09-11 22:37:02848瀏覽

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刪除