2017-10-10 10 views
2

.NET 4.5.2アプリケーション内で 'outパラメータ'を使用しようとしていますが、コンパイルエラーが発生しています。メソッドを呼び出すときに "out type"宣言を配置します。

質問: どのフレームワークでこれをコンパイルできますか? これは何と呼ばれますか?メソッド呼び出しのインライン変数宣言?

参考にしてください。

参考:https://www.dotnetperls.com/parse

アウト新しい構文:我々は メソッド呼び出し内で直接 "アウトINT" のキーワードを配置することができます。古いバージョンのC#ではこの構文を使用できません。しかし、この は、プログラムの行数を減らすことができます。

static void Main() 
{ 
    const string value = "345"; 
    // We can place the "out int" declaration in the method call. 
    if (int.TryParse(value, out int result)) 
    { 
     Console.WriteLine(result + 1); 
    } 
} 

答えて

4

これは、Visual Studioの機能は、 "アウト変数" と呼ばれる2017年

C# version 7その船が必要です。

C#7.0では変数を追加しました。また、ドキュメントはhere見つけることができます

public void PrintCoordinates(Point p) 
{ 
    p.GetCoordinates(out int x, out int y); 
    WriteLine($"({x}, {y})"); } 
} 

:それはアウト引数として渡された時点で 変数権利を宣言する機能。

+0

「**インライン**アウト変数」と呼ばれます。 – Odrai

+1

@Odrai [C#7言語の下書き](https://www.ecma-international.org/activities/Languages/C%20sharp%20Standard%20WD3.16.pdf)は同意しません。 119ページ、3段落を参照してください。 [こちら](https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-7#out-variables)。正確な名前は超重要ではありません。 –

+1

リンクと情報ありがとうございました。私は通常、 '普通の'/'古い'宣言とインラインの宣言の違いを明確にするためにキーワード 'インライン'を使用します。これは、次の行の省略形です: "インライン*の値は、使用されているメソッドの引数として宣言できます。" – Odrai

関連する問題