Lambda 表达式



基本形式



(input parameters) => expression




< XMLNAMESPACE PREFIX ="[default]" httpmsdnmicrosoftcommtps NS ="http://msdn2.microsoft.com/mtps" />只有在 Lambda 有一个输入参数时,括号才是可选的;否则括号是必需的。两个或更多输入参数由括在括号中的逗号分隔:




(x, y) => x == y




有时,编译器难于或无法推断输入类型。如果出现这种情况,您可以按以下示例中所示方式显式指定类型:

(int x, string s) => s.Length > x



使用空括号指定零个输入参数:




() => SomeMethod()



Lambda 语句



Lambda 语句与 Lambda 表达式类似,只是语句括在大括号中:




(input parameters) => {statement;}



Lambda 语句的主体可以包含任意数量的语句;但是,实际上通常不会多于两个或三个语句。




delegate void TestDelegate(string s);  …  TestDelegate myDel = n => { string s = n + " " + "World"; Console.WriteLine(s); };  myDel("Hello");