Heim  >  Artikel  >  Backend-Entwicklung  >  Was sind lokale Ref-Variablen und Ref-Rückgabewerte in C# 7.0?

Was sind lokale Ref-Variablen und Ref-Rückgabewerte in C# 7.0?

PHPz
PHPznach vorne
2023-09-11 22:37:02779Durchsuche

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

Referenzrückgabewerte ermöglichen es Methoden, stattdessen einen Verweis auf eine Variable zurückzugeben als ein Wert.

Der Aufrufer kann wählen, ob die zurückgegebene Variable als behandelt werden soll Wert oder Referenz.

Der Aufrufer kann eine neue Variable erstellen, die selbst eine Referenz auf den Rückgabewert ist, genannt ref local.

Im folgenden Beispiel hat eine Änderung der Farbe keine Auswirkung Rohe Array-Farbe

Example

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

Um dies zu erreichen, können wir Ref-Locals verwenden

Example

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 gibt -

Im folgenden Beispiel zurück, auch wenn wir die Farbe ändern , es hat auch keine Wirkung Ursprüngliche Array-Farbe

Beispiel

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

Ausgabe

blau grün gelb orange rosa

Beispiel

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

Ausgabe

blue green yellow Magenta pink

Das obige ist der detaillierte Inhalt vonWas sind lokale Ref-Variablen und Ref-Rückgabewerte in C# 7.0?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen