=> Lambda operator C# with Example



=> Lambda operator C# with Example

Version ≥ 3.0 
 

The => operator has the same precedence as the assignment operator = and is right-associative. 
It is used to declare lambda expressions and also it is widely used with LINQ Queries: 
string[] words = { "cherry", "apple", "blueberry" }; 
int shortestWordLength = words.Min((string w) => w.Length); //5 
When used in LINQ extensions or queries the type of the objects can usually be skipped as it is inferred by the 
compiler: 
int shortestWordLength = words.Min(w => w.Length); //also  compiles  with  the  same  result 
The general form of lambda operator is the following: 
(input parameters) => expression 
The parameters of the lambda expression are specified before => operator, and the actual 
expression/statement/block to be executed is to the right of the operator: 
// expression 
(int x, string s) => s.Length > x 
// expression 
(int x, int y) => x + y 
// statement 
(string x) => Console.WriteLine(x) 
// block 
(string x) => { 
x += " says Hello!"; 
Console.WriteLine(x); 
} 
This operator can be used to easily define delegates, without writing an explicit method: 
delegate void TestDelegate(string s); 
TestDelegate myDelegate = s => Console.WriteLine(s + " World"); 
myDelegate("Hello"); 
instead of 
void MyMethod(string s) 
{ 
Console.WriteLine(s + " World"); 
} 
delegate void TestDelegate(string s); 
TestDelegate myDelegate = MyMethod; 
myDelegate("Hello"); 
 

0 Comment's

Comment Form

Submit Comment