Maison > développement back-end > Tutoriel C#.Net > Que sont les variables locales Ref et les valeurs de retour Ref en C# 7.0 ?

Que sont les variables locales Ref et les valeurs de retour Ref en C# 7.0 ?

PHPz
Libérer: 2023-09-11 22:37:02
avant
882 Les gens l'ont consulté

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

Les valeurs de retour de référence permettent aux méthodes de renvoyer une référence à une variable au lieu de qu'une valeur.

L'appelant peut choisir de traiter la variable renvoyée comme valeur ou référence.

L'appelant peut créer une nouvelle variable qui est elle-même une référence à la valeur de retour, appelée ref local.

Dans l'exemple ci-dessous, même si on modifie la couleur cela n'a aucun effet Couleur du tableau brut

Exemple

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();
   }
}
Copier après la connexion

Sortie

blue green yellow orange pink
Copier après la connexion

Pour y parvenir, nous pouvons utiliser des ref locales

Exemple

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();
}
Copier après la connexion

Sortie

blue green yellow Magenta pink
Copier après la connexion
Copier après la connexion

Ref return -

Dans l'exemple ci-dessous, même si nous modifions la couleur, elle n'a également aucun effet Couleur du tableau d'origine

Exemple

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];
   }
}
Copier après la connexion

sortie

bleu vert jaune orange rose

Exemple

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];
   }
}
Copier après la connexion

sortie

blue green yellow Magenta pink
Copier après la connexion
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal