rksoftware

Visual Studio とか C# とかが好きです

C# 2.0 以降の新機能の確認 - C# 7.0 - out 変数をメソッド呼び出しの引数リスト内で宣言 (Out variables)

C# 2.0 以降の新機能を一つづつ確認していきます。
以前に一度行ったのですが、公式ドキュメント再編でリンク切れしているところを見つけてしまったので。今ならもっと簡潔なサンプルが欠けるところもあるだろうし、せっかくなので今もう一度確認して行きます。

out 変数をメソッド呼び出しの引数リスト内で宣言 (Out variables)

 https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/out-parameter-modifier
 out 引数を含むメソッドの呼び出しの際に、out 変数をメソッド呼び出しの引数リスト内で宣言できる。

string text = "10";
if (!int.TryParse(text, out int i))  // ここで変数 i が宣言できている
{
    Console.WriteLine($"{text} を int にパースできませんでした");
    return;
}
Console.WriteLine($"{text} を int: {i} にパースできました");  // 10 を int: 10 にパースできました