I understand a lambda expression is in essence an inline delegate declaration to prevent the extra step
example
delegate int Square(int x) public class
Yes. When you have other-than-one (zero, or > 1) lambda arguments, use parenthesis around them.
Examples
Func add = (a,b) => a + b; int result = add(1, 3); Func constant = () => 42; var life = constant();