Lambda表达式是C#中定义匿名函数的简洁语法糖,本质为编译器生成委托或表达式树,基本形式为(参数列表)=>表达式或语句块,广泛用于委托、事件和LINQ查询。
在C#中,Lambda表达式是编写匿名函数最简洁、最常用的方式,本质是编译器帮你生成委托实例或表达式树,用 =>(“goes to”)语法快速定义内联方法。
语法结构为:(参数列表) => 表达式或语句块。参数类型通常可省略(由编译器推断),单个参数时括号也可省略。
Lambda让注册回调变得非常轻量,尤其配合 Action、Func 等泛型委托使用。
Action:`ListFunc 过滤:`var adults = people.Where(p => p.Age >= 18)`几乎所有 LINQ 方法(Where、Select、OrderBy、Any 等)都接受 Lambda 作谓词或投影函数,代码直观易读。
sAdmin = roles.Any(r => r == "Admin");`Lambda 可访问并“捕获”定义它的作用域中的局部变量,但要注意生命周期问题——变量会延长到委托存在为止。
基本上就这些。Lambda 不是黑魔法,它只是 C# 为简化委托写法提供的语法糖,用熟了会让集合操作、异步回调、事件绑定变得干净又高效。