コードインスペクション: ラムダ式に変換
デリゲートに匿名メソッドを渡すか、ステートメント lambda を使用する代わりに、 ラムダ式を使用できます。 これは、単一のステートメントを含むメソッドにのみ当てはまります。
ラムダ式と匿名メソッドの両方で 匿名関数を作成できますが、ラムダ式の方がより短い構文を提供します。 これらの 2 つの表記法にはいくつかの細かな違いがあります。詳細は下の 関連事項 セクションのリンクをご覧ください。
以下の例では、ReSharper は、より長い匿名メソッドを使う代わりに、ラムダ式を sum デリゲートに割り当てることを提案しています:
class MyClass
{
public static int MyMethod()
{
Func<int, int, int> sum =
delegate(int x, int y)
{
return x + y;
};
return sum(10, 20);
}
}
class MyClass
{
public static int MyMethod()
{
Func<int, int, int> sum =
(x, y) => x + y;
return sum(10, 20);
}
}
次の例では、ReSharper はステートメントラムダをラムダ式に変換することを提案しています:
class MyClass1
{
public static int MyMethod()
{
Func<int, int, int> sum =
(x, y) =>
{
return x + y;
};
return sum(10, 20);
}
}
class MyClass1
{
public static int MyMethod()
{
Func<int, int, int> sum =
(x, y) => x + y;
return sum(10, 20);
}
}
2026 年 6 月 12 日