Freigeben über


Operator => (C#-Referenz)

Das =>-Token wird als Operator Lambda bezeichnet. Es wird in Lambda-Ausdrücken verwendet, um die Eingabevariablen auf der linken Seite von dem Lambda-Text auf der rechten Seite zu trennen. Bei Lambda-Ausdrücken handelt es sich um Inlineausdrücke, die anonymen Methoden ähneln, jedoch flexibler sind. Sie werden häufig in LINQ-Abfragen in Methodensyntax verwendet. Weitere Informationen finden Sie unter Lambda-Ausdrücke (C#-Programmierhandbuch).

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

Hinweise

Der Operator => wird als "goes to" gelesen. Der Ausdruck im oben stehenden Beispiel wird wie folgt gelesen: "Min w goes to w dot Length".

Der Operator => verfügt über die gleiche Rangfolge wie der Zuweisungsoperator (=) und ist rechtsassoziativ.

Sie können den Typ der Eingabevariablen explizit angeben oder vom Compiler ableiten lassen. In jedem Fall wird die Variable bei der Kompilierung stark typisiert. Bei der Angabe eines Typs müssen Sie den Typnamen und den Variablennamen in Klammern setzen, wie im folgenden Beispiel gezeigt:

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

Mehrere Eingangsvariablen werden in Klammern eingeschlossen, wie in einem Beispiel weiter unten in diesem Thema gezeigt.

Beispiel

Das folgende Beispiel veranschaulicht, wie ein Lambda-Ausdruck für den Standardabfrageoperator Enumerable.Where mit zwei Eingabevariablen geschrieben wird. Dieser Ausdruck gibt alle Zeichenfolgen zurück, deren Längen kleiner sind als ihre Indexpositionen im Array.

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

Siehe auch

Referenz

Lambda-Ausdrücke (C#-Programmierhandbuch)

Konzepte

C#-Programmierhandbuch

Weitere Ressourcen

C#-Referenz