コードインスペクション:インライン「out」変数宣言
このインスペクションは、コードを簡素化し、読みやすさを向上させるために、 out 変数宣言をインライン化することを提案しています。
C# 7.0 以降、 out 変数の機能強化の一環として、別個の宣言ステートメントを記述するのではなく、メソッドの引数リストで out 変数を宣言できます。
void WriteValue(IDictionary<int, int> dictionary, int key)
{
int value;
if (dictionary.TryGetValue(key, out value))
{
Console.WriteLine(value);
}
}
void WriteValue(IDictionary<int, int> dictionary, int key)
{
if (dictionary.TryGetValue(key, out var value))
{
Console.WriteLine(value);
}
}
ご覧のとおり、クイックフィックスの後、 value のスコープは if ステートメントに絞り込まれ、変数のスコープを可能な限り制限するという原則に従っています。 さらに、変数宣言は通常、コード内で変数が最初に使用される場所に近いため、変数宣言を見つけやすくなります。 先行するコード行での変数の可用性も削除されるため、初期化されていない変数の誤用の可能性が防止されます。
2026 年 6 月 12 日