I read this interesting line here, in an answer by Jon Skeet.
The interesting line is this, where he advocated using a delegate:
Log.Info("I did something: {0}", () => action.GenerateDescription());
Question is, what is this ()=> operator, I wonder? I tried Googling it but since it's made of symbols Google couldn't be of much help, really. Did I embarrassingly miss something here?
An Arrow operator in C/C++ allows to access elements in Structures and Unions. It is used with a pointer variable pointing to a structure or union.
This introduces a lambda function (anonymous delegate) with no parameters, it's equivalent to and basically short-hand for:
delegate void () { return action.GenerateDescription(); }
You can also add parameters, so:
(a, b) => a + b
This is roughly equivalent to:
delegate int (int a, int b) { return a + b; }
=>
this is lambda operator. When we don't have any input parameters we just use round brackets ()
before lambda operator.
syntax: (input parameters) => expression
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