c# Lambda

分配给委托类型
Func<int, int> square = x => x * x; 
Console.WriteLine(square(25));
作为方法参数传递
ShowValue(x => x * x);  
private static void ShowValue(Func<int,int> op){
Console.WriteLine("{0} x {0} = {1}",5,  op(5));
}
没有输入参数
Action line = () => Console.WriteLine();
多个参数和返回值(最后一个),多个语句(一般不超过3个)要使用{}
Func<int,int,bool> testEquality = (x, y) => x == y;
使用元组
var numbers = (2, 3, 4, 5, 6);
Func<(int, int, int, int, int), (int, int, int, int, int)> doubleThem = (n) => (n.Item1 * 2, n.Item2 * 2, n.Item3 * 2, n.Item4 * 2, n.Item5 * 2);
var doubledNumbers = doubleThem(numbers);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C# lambda表达式是一种简洁的语法形式,用于创建匿名函数或委托实例。它可以在需要委托类型或表达式树的任何代码中使用。Lambda表达式可以有两种形式:表达式lambda和语句lambda。表达式lambda主要侧重于表达式的返回值,而语句lambda主要侧重于语句块中的执行内容。\[2\]在表达式lambda中,使用箭头符号(=>)将输入参数和表达式分隔开,例如x => x * 4表示一个接收一个整数参数x并返回x乘以4的表达式lambda。\[1\]在语句lambda中,使用箭头符号(=>)将输入参数和语句块分隔开,语句块中可以包含多个语句,例如(int x) => { return x * 2; }表示一个接收一个整数参数x并返回x乘以2的语句lambda。\[3\]Lambda表达式的使用方便了委托的使用,并提高了代码的简洁度。 #### 引用[.reference_title] - *1* *3* [C# Lambda表达式](https://blog.csdn.net/qq_39847278/article/details/127525222)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Lambda表达式详解(C#)](https://blog.csdn.net/shanniuliqingming/article/details/123663991)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值