JetBrains Rider 2024.1 ヘルプ

コード検査: インラインアウト変数宣言

このインスペクションは、コードを簡素化し、読みやすさを向上させるために、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 ステートメントに絞り込まれ、変数のスコープを可能な限り制限するという原則に従っています。さらに、変数宣言は通常、コード内で変数が最初に使用される場所に近いため、変数宣言を見つけやすくなります。先行するコード行での変数の可用性も削除されるため、初期化されていない変数の誤用の可能性が防止されます。