Cet article présente principalement les ref locales et les retoursde C# 7.0, c'est-à-dire les variables locales et les référence retours, avec Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer
Si vous n'avez pas lu le texte original, veuillez vous déplacer ici : [Bonnes choses à venir] Nouvelles fonctionnalités C#7.0 (disponibles dans VS2017)
C'est absurde Sans plus attendre, allons droit au but. Tout d'abord, nous savons que le mot-clé ref change le transfert de valeur en transfert de référence, alors jetons d'abord un coup d'œil aux ref locals (ref local variable)
Le sous-code est le suivant :
static void Main(string[] args) { int x = 3; ref int x1 = ref x; //注意这里,我们通过ref关键字 把x赋给了x1 x1 = 2; Console.WriteLine($"改变后的变量 {nameof(x)} 值为: {x}"); Console.ReadLine(); }
Ce code finit par afficher "2"
Veuillez faire attention à la partie commentaire , nous attribuons x à x1 via le mot-clé ref, S'il s'agit d'un transfert de type valeur, cela n'aura aucun effet sur Passer l'espace nécessaire pour s'ouvrir.
Regardons ensuite
ref return (ref reference return)Cette fonction est en fait très utile. Nous pouvons mettre le type de valeur Return comme type de référence.
Anciennes règles, donnons un exemple, le code est le suivant :
Logique très simple.. Récupère la valeur de l'indice spécifié du
tableau
Nous écrivons le code de test comme suit :
static ref int GetByIndex(int[] arr, int ix) => ref arr[ix]; //获取指定数组的指定下标
Nous renvoyons le type de référence via ref, et lors de la réaffectation, le tableau arr La valeur a également changé en conséquence.
int[] arr = { 1, 2, 3, 4, 5 }; ref int x = ref GetByIndex(arr, 2); //调用刚才的方法 x = 99; Console.WriteLine($"数组arr[2]的值为: {arr[2]}"); Console.ReadLine();
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!