委托的lambda表达式
委托可以用 Lambda 表达式的方法来表示,很多C#的代码都会大量使用 Lambda 表达式,正确理解它的用法还是很重要的。
基础规则:
Lambda 运算符 “=>” 左边表示委托实例所需要的参数,右边表示委托实例的具体方法。
Func<double, double> Multiply = (x, y) => x * y; Console.WriteLine(Multiply(2, 5));
如果 Lambda 表达式只有一条语句,在方法块内就不需要花括号,也不需要return语句,编译器会自动添加。
var values = new List<int>() { 10, 20, 30}; var funcs = new List<Func<int>>(); foreach(var val in values) { funcs.Add( () => val ); //相当于 funcs.Add( () => { return val; })
}
浙公网安备 33010602011771号