ホームページ  >  記事  >  バックエンド開発  >  C# 7.0 の ref ローカルと戻り値の詳細な説明

C# 7.0 の ref ローカルと戻り値の詳細な説明

黄舟
黄舟オリジナル
2017-03-16 11:13:461608ブラウズ

この記事では主に 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。