上文中用了一点篇幅讲述了匿名方法的使用。自从C#3.0开始,就可以使用一种新语法把实现代码赋予委托,即Lambda表达式。只要有委托参数类型的地方,就可以使用Lambda表达式。上文中使用匿名方法的例子可以改为使用Lambda表达式。
语法:
Lambda表达式的定义方式为:“([参数列表]) => 表达式”。运算符“=>”是一种与赋值运算“=”具有相同优先级的右结合运算符,在英语里读作:“goes to”。
参数:
只有一个参数:
FunconeParam = s => String.Format("change uppercase {0}", s.ToUpper());
Console.WriteLine(oneParam("test"));
只写出参数名就足够了,上面代码中,Lambda表达式使用了参数s。因为委托类型定义了一个string参数,所以s的类型就是string。该代码实现了调用String.Format()方法来返回一个字符串,在调用该委托时,把字符串写到控制台上。
多个参数: