c# lambda表达式

Lambda 表达式是一种简洁、灵活的匿名函数表示法。它们允许我们定义短小的内联函数,而无需显式声明完整的函数或方法。Lambda 表达式在LINQ查询、事件处理器、委托调用等场景中非常有用。

语法

Lambda 表达式的基本语法是 (input-parameters) => expression-body。其中,input-parameters 是参数列表(可以为空),=> 是Lambda运算符,expression-body 是包含Lambda表达式的主体。

// 无参数的Lambda表达式  
Func<int> getZero = () => 0;  
  
// 带有单个参数的Lambda表达式  
Func<int, bool> isEven = x => x % 2 == 0;  
  
// 带有多个参数的Lambda表达式  
Func<int, int, int> add = (x, y) => x + y;

类型

Lambda 表达式具有隐式类型,由编译器根据上下文推断。但是,我们也可以使用委托或Func/Action类型来显式指定Lambda表达式的类型。

使用场景

LINQ 查询

定义筛选、排序和转换数据的逻辑。

事件处理器

可以用作事件处理器,特别是当事件处理逻辑很简短时。

button.Click += (sender, e) => { Console.WriteLine("Button clicked!"); };

委托调用

可以直接赋值给委托变量,从而简化委托的调用。

Func<int, int> square = x => x * x;  
 int result = square(5); // result 为 25

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值