used where a delegate would be used, and they have a precise syntax, which is roughly:
Function(arg1, arg2…argn) expression
You can explicitly type the parameters — that is, provide the argument types or leave them unspecified and the compiler will figure it out. The expression part is a statement such as a + b, or s.Length. The Return keyword is implicit.
See also “Exploring Lambda Expression Trees” on Developer.com.