C#匿名函数(大白话)

C#中的匿名函数可以理解为是一个没有名称的函数,可以作为参数传递给其他方法或委托。

大白话来讲,匿名函数就像是一种创建轻量级代码块的方式,不需要定义新的方法,可以直接在调用时编写要执行的代码片段。

在C#中,有三种常用的匿名函数:Lambda表达式、匿名方法和Func/Action委托。

  • Lambda表达式 Lambda表达式的语法形式为(input-parameters) => expression或者(input-parameters) => { statement; }。它是一种简洁且易于阅读的方式来表示匿名函数,常用于集合操作和 LINQ 查询等场景。

int[] arr = { 1, 2, 3, 4, 5 }; var result = arr.Where(x => x % 2 == 0);

  • 匿名方法 匿名方法是在预定义委托类型后添加方法实现的一种方式。它的语法形式为:delegate (input-parameters) { statement; } 。与 Lambda 表达式相似,但不如其简洁,被广泛应用于较早版本的 C# 中。

Predicate<int> isEven = delegate(int num) { return (num % 2) == 0; };

  • Func/Action委托 Func/Action 是 C# 提供的通用委托类型。相比于前两者,它更具有扩展性和可重用性,并且有一些预定义的返回值类型供用户选择。其语法形式为:Func<arg1Type, arg2Type, ..., retType> funcName = (arg1, arg2, ...) => expression; 或者 Action<arg1Type, arg2Type, ...> actionName = (arg1, arg2, ...) => { statement; };

Func<int, int, int> add = (x, y) => { return x + y; }; int result = add(1, 2);

总结:匿名函数是 C# 中一种高度灵活的编程方式,可以简化代码结构,提高开发效率,也在一定程度上增强了代码的可读性和可维护性。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值