Rumah >pembangunan bahagian belakang >Tutorial C#.Net >Apakah pembolehubah setempat Ref dan nilai pulangan Ref dalam C# 7.0?

Apakah pembolehubah setempat Ref dan nilai pulangan Ref dalam C# 7.0?

PHPz
PHPzke hadapan
2023-09-11 22:37:02844semak imbas

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

Nilai pulangan rujukan membenarkan kaedah mengembalikan rujukan kepada pembolehubah dan bukannya daripada nilai.

Pemanggil boleh memilih untuk menganggap pembolehubah yang dikembalikan sebagai nilai atau rujukan.

Pemanggil boleh mencipta pembolehubah baharu yang dengan sendirinya merujuk kepada nilai pulangan, dipanggil ref local.

Dalam contoh di bawah, walaupun kita ubah suai warna ia tidak memberi kesan Warna tatasusunan mentah

Contoh

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();
   }
}

Output

blue green yellow orange pink

Untuk mencapai ini, kita boleh menggunakan ref locals

Contoh

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();
}

Output

blue green yellow Magenta pink

Ref mengembalikan warna - di bawah, jika kita mengembalikan warna -

di bawah

juga tiada kesan Warna susunan asal

Contoh

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];
   }
}

output

biru hijau kuning oren merah jambu

Contoh

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];
   }
}

output

blue green yellow Magenta pink

Atas ialah kandungan terperinci Apakah pembolehubah setempat Ref dan nilai pulangan Ref dalam C# 7.0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam