|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer|
=> Operator (C# Reference)
Updated: October 2009
The => token is called the lambda operator. It is used in lambda expressions to separate the input variables on the left side from the lambda body on the right side. Lambda expressions are inline expressions similar to anonymous methods but more flexible; they are used extensively in LINQ queries that are expressed in method syntax. For more information, see Lambda Expressions (C# Programming Guide).
The => operator is read as "goes to." In the previous example, the expression is read as "Min w goes to w dot Length".
The => operator has the same precedence as the assignment operator (=) and is right-associative.
You can specify the type of the input variable explicitly or let the compiler infer it; in either case the variable is strongly typed at compile time. When you specify a type, you must enclose the type name and the variable name in parentheses, as shown in the following example:
int shortestWordLength = words.Min((string w) => w.Length);
Multiple input variables are enclosed in parentheses, as shown in the example later in this topic.
The following example shows how to write a lambda expression for the Standard Query Operator Enumerable.Where with two input variables. This expression returns all the strings whose lengths are less than their index positions in the array.