深入理解C# 7.0中的Lambda表达式与事件机制
1. Lambda表达式的概念与基本语法
Lambda表达式是一种简洁的匿名函数,可以直接在代码中定义。它使得代码更加紧凑和易读,特别是在处理委托和LINQ查询时。Lambda表达式的语法非常直观,通常形式为 (parameters) => expression-or-statement-block
。如果参数只有一个且类型可以推断,则可以省略括号。
示例代码
// 定义一个委托类型
delegate int Transformer(int i);
// 使用Lambda表达式分配和调用
Transformer sqr = x => x * x;
Console.WriteLine(sqr(3)); // 输出 9
参数与返回值
Lambda表达式的参数可以是任意类型,返回值类型则根据表达式推断得出。如果Lambda表达式包含多条语句,则需要用大括号 {}
包裹,并且必须显式指定返回类型。
Func<int, int> square = (int x) => {
int result = x * x;
return result;
};
Console.WriteLine