この記事では主に C# 7.0 の ref locals と return、つまりローカル 変数 と referencereturns について紹介します。興味のある方は参照してください
読んでいません。原文をお読みになった場合は、次のページに移動してください: [役立つ情報が到着] C# 7.0 の新機能 (VS2017 で利用可能)
早速、本題に入りましょう。まず第一に、ref キーワードが値転送を参照転送に変更することがわかっているので、まず ref ローカル (ref ローカル変数) を見てみましょう
サブコードは次のとおりです:
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(); }
これコードは最終的に「2」を出力します
コメントの部分に注意してください。値型の転送である場合、x には影響せず、3 が出力されます。
その利点は、いくつかの特定の状況では、直接 ref を使用して参照渡しできるため、値の転送に必要なスペースが削減されることは明らかです。
次に見てみましょうref 戻り値 (ref 参照戻り値)
この関数は実際には非常に便利で、値の型を参照型として返すことができます。
古いルール、例を挙げてみましょう。コードは次のとおりです:
非常に単純なロジック.. 指定された 配列の指定された添字の値を取得します
static ref int GetByIndex(int[] arr, int ix) => ref arr[ix]; //获取指定数组的指定下标
次のようにテスト コードを作成します。
int[] arr = { 1, 2, 3, 4, 5 }; ref int x = ref GetByIndex(arr, 2); //调用刚才的方法 x = 99; Console.WriteLine($"数组arr[2]的值为: {arr[2]}"); Console.ReadLine();
We 参照型は ref を通じて返され、再代入中に arr 配列の値もそれに応じて変更されます。
要約すると、ref キーワードは以前から存在していましたが、今回の C#7.0 ではパラメータとして渡すだけでなく、ローカル変数や戻り値としても渡すことができます
。はい、それだけです。
以上がC# 7.0 の ref ローカルと戻り値の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。