What does =>
means? Here's a code snap:
Dispatch开发者_如何学运维er.BeginInvoke((Action)(() => { trace.Add(response); }));
it's lambda expression which is the simplified syntax of anonymous delegate. it reads 'goes to'. equivalent to Dispatcher.BeginInvoke((Action)delegate() { trace.Add(response); });
=> is lambda expression operator which indicate that the code is lambda expression.
( param ) => expr(int x) = > { return x + 1 };
or
param => exprx=> x + 1;>
What is Lambda expression ?
* Lambda expression is replacement of the anonymous method avilable in C#2.0 Lambda
expression can do all thing which can be done by anonymous method.
* Lambda expression are sort and function consist of single line or block of statement.
Read more : Lambda Expressions
=> is an operator called Lambda Operator
It is used for creating a lambda expression
It's the lambda operator =>
It is a lambda operator which reads like "goes to"
This "=>" means the use of lambda expression syntax in C#.
This syntax is available since Visual Studio 2008 in .NET 3.5 (C# 3.0). This is the MSDN official documentation of lambda expression in C#.
The code above is the same as anonymous delegate in already available since C# 2.0
Your code:
Dispatcher.BeginInvoke((Action)(() => { trace.Add(response); }));
is translated into:
Dispatcher.BeginInvoke(new delegate () { trace.Add(response); });
Those two codes essentially have the same semantics.
It's worth noting that a single expression lambda doesn't need the {} around the body, nor does it need a semicolon, so you can simplify your code (slightly) to.
Dispatcher.BeginInvoke((Action)(() => trace.Add(response) ));
精彩评论