Take the 2-minute tour ×

Can you say what is the use of the ()=> and =>? I saw this in a code. I did not get any reference for this.

    //some thing..
share|improve this question
add comment

4 Answers

up vote 3 down vote accepted

This notation is that of a lambda expression which takes no argument. If the lambda expression made use of arguments they would be declared in the empty set of parenthesis as in say...

this.Dispatcher.BeginInvoke((x, y) => { do some' with x and/or y }, 12, somevar);

In a nutshell, lambda expressions allows creating "nameless" functions, right where they are needed.
In the example of the question, the BeginInvoke() method requires its first parameter to be a delegate (a "pointer to a method"), which is exactly what this lambda expression provides.

share|improve this answer
add comment

=> is the lambda operator in C# and is read as "goes to". A lambda expression is an anonymous function and can be used to create a delegate.

Your example takes no arguments as indicated by the empty parens preceding the lambda operator. A lambda expression with one argument might look like this:

n => n.toString()

That expression would return the string representation of n, when invoked. A lambda expression can have multiple arguments as well, contained in parentheses:

(n, f) => n.toString(f)

A common use would be in a Func<T>:

Func<int, string> getString = n => n.toString();
int num = 7;
string numString = getString(num);

This is, of course, a silly example, but hopefully helps to illustrate its use.

share|improve this answer
add comment

It's a lambda expression that has no parameters.

share|improve this answer
add comment

Check out this page http://codebetter.com/karlseguin/2008/11/27/back-to-basics-delegates-anonymous-methods-and-lambda-expressions/

If you don’t have any parameters, like in our example, you use empty paranthesis:

() => {…}

share|improve this answer
add comment

Your Answer


