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

PHPz
Lepaskan: 2023-09-11 22:37:02
ke hadapan
815 orang telah melayarinya

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();
   }
}
Salin selepas log masuk

Output

blue green yellow orange pink
Salin selepas log masuk

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();
}
Salin selepas log masuk

Output

blue green yellow Magenta pink
Salin selepas log masuk
Salin selepas log masuk

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];
   }
}
Salin selepas log masuk

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];
   }
}
Salin selepas log masuk

output

blue green yellow Magenta pink
Salin selepas log masuk
Salin selepas log masuk

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan