コードインスペクション:ラムダやローカル関数内で誤解を招く可能性のあるパラメーター名です。
従来、シンボル _ はC#において有効な識別子名であり、変数やパラメーターなどコード要素の命名として _ を使用することは合法でした。 しかし、C# に discards の概念が導入されたことで、 _ を名前として使うのは望ましくなくなりました。これは、一部のコードスコープで値の破棄を表現するための _ の使用を妨げる可能性があるためです。
C# はこの問題に対処するために徐々に 限定的な変更(英語)に移行していますが、このインスペクションはコードの将来性を確保し、潜在的な混乱を最小限に抑えるのに役立ちます。 実際に使用されている _ という名前の変数とパラメーターを報告し、「破棄された」値として表示します。
パラメーターまたは変数名が複数の _ 文字で構成され、使用箇所がある場合も報告されます。
public class Test
{
private Action<string> greet = _ =>
{
Console.WriteLine("Hello " + _);
};
}
public class Test
{
private Action<string> greet = name =>
{
Console.WriteLine("Hello " + name);
};
}
2026 年 6 月 12 日