Instead of passing an anonymous method to a delegate, or using a statement lambda, you can use a lambda expression. This is true only for methods containing a single statement.

Both lambda expressions and anonymous methods can be used to create anonymous functions but lambda expressions provide a shorter syntax for that. There are some minor differences between using these two notations — use the links in the See Also section below to learn the details.

If the resulting lambda expression contains different statements on the same line, you can set breakpoints on the statement where your caret is by pressing F9 (not by clicking in the left margin).

In the example below, ReSharper suggests assigning a lambda expression to the sum delegate instead of using a longer anonymous method: