Hai guys,
My fellow developers were talking about lambda expressions this morning. So i decided to ask it here in SO
A lambda expression is an anonymous function that can contain expressions and statements, and can be used to create delegates or expression tree types.
expect of using
del myDelegate = delegate(int x){return x*x; };
int j = myDelegate(5); //j = 25
you can write
del myDelegate = x => x * x;
int j = myDelegate(5); //j = 25
I don't think that there is a general rule when your should use them, but if I look to myself I tend to use them whenever I use anonymous methods. Most often this happens when spawning some code in a new thread using the ThreadPool
, or when doing LINQ queries.
ThreadPool example:
ThreadPool.QueueUserWorkItem(state => {
// the code to run on separate thread goes here
});
LINQ:
var myItems = GetSomeIEnumerable()
.Where(o => o.SomeProperty.Equals("some value"));
.OrderBy(o => o.SomeOtherProperty);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With