C# 匿名方法和Lambda表达式
发布日期:2021-06-29 19:13:44 浏览次数:4 分类:技术文章

本文共 1106 字,大约阅读时间需要 3 分钟。

匿名方法(Anonymous methods)

匿名方法 :提供了一种传递代码块作为委托参数的技术。匿名方法是没有名称只有主体的方法。

在匿名方法中不需要指定返回值类型,系统会在主体内的 return 语句推断。

static int Test1(int arg1,int arg2) {     return arg1 + arg2; } static void Main(string[] args) {  // Func
plus = Test1;//这是正常使用委托的方式 //使用匿名方法的形式Func
plus = delegate (int arg1, int arg2) { return arg1 + arg2; };}

匿名方法即没有名字的方法,关键字是
delegate
匿名方法只能将方法赋值给委托,通过委托调用该方法
匿名方法本质上是一个方法,只是没有名字,任何使用委托变量的地方都可以使用匿名方法
赋值

Lambda
表达式
Lambda
表达式是匿名方法的简写形式
,
用来代替匿名方法
static void Main(string[] args) { // Func
plus = Test1;//这是正常使用委托的方式 Func
plus = ( arg1,arg2)=>//换成Lambda表达式形式     {         return arg1 + arg2;     };     Console.WriteLine(plus(12, 45));     Console.ReadKey();}
Lambda
表达式是不需要声明类型的:
如果
Lambda
表达式只有一条语句,在方法体中就不需要大括号和
return
语句,编译器
会自动添加
return
语句。
如果
Lambda
表达式的实现代码中需要多条语句,就必须添加大括号和
return
语句
static void Main(string[] args) {     Func
test2 = a => a+1;//简写形式     Func
test3 = (a) =>//普通形式     {         return a + 1;     };     Console.WriteLine(test2(22));     Console.ReadKey(); }
Lamdba表达式的几种形式:

转载地址:https://czhenya.blog.csdn.net/article/details/77943561 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:C语言 快速排序函数
下一篇:Unity制作赛车游戏(无尽版)源码解析 和 Whell joint 2D组件的使用

发表评论

最新留言

不错!
[***.144.177.141]2024年04月06日 05时29分16秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章