=> 演算子 (C# リファレンス)

=> トークンはラムダ演算子と呼ばれます。 これは、左側の入力変数を右側のラムダ本体から分けるためにラムダ式で使用されます。 ラムダ式はインライン式の一種で匿名メソッドと似ていますが、それよりも柔軟性があります。この式はメソッド構文で表される LINQ クエリで広く使用されています。 詳細については、「ラムダ式 (C# プログラミング ガイド)」を参照してください。

string[] words = { "cherry", "apple", "blueberry" };
int shortestWordLength = words.Min(w => w.Length);
Console.WriteLine(shortestWordLength);
// Output: 5

解説

=> 演算子は「~に入力」と読みます。 直前の例の式は、「Min w を w.Length に入力」と読みます。

=> 演算子と代入演算子 (=) は優先順位が同じで、結合規則が右から左です。

入力変数の型は明示的に指定することもできますし、コンパイラに推論を任せることもできます。どちらにしても、変数はコンパイル時に厳密に型指定されます。 型を指定するときは、次の例に示すように型名と変数名をかっこで囲む必要があります。

int shortestWordLength = words.Min((string w) => w.Length);

このトピックで後述する例で示すように、複数の入力変数をかっこで囲みます。

使用例

2 つの入力変数を持つ標準のクエリ演算子 Enumerable.Where のラムダ式を作成する方法を次の例に示します。 この式は、長さが配列内のインデックス位置よりも短いすべての文字列を返します。

string[] digits = { "zero", "one", "two", "three", "four", "five", 
                    "six", "seven", "eight", "nine" };
var shortDigits = digits.Where((digit, index) => digit.Length < index);
foreach (var sD in shortDigits)
{
    Console.WriteLine(sD);
}
// Output:
// five
// six
// seven
// eight
// nine

参照

参照

ラムダ式 (C# プログラミング ガイド)

概念

C# プログラミング ガイド

その他の技術情報

C# リファレンス