C# 匿名方法和Lambda表达式
发布日期:2021-06-29 19:13:44
浏览次数:3
分类:技术文章
本文共 1106 字,大约阅读时间需要 3 分钟。
匿名方法(Anonymous methods)
匿名方法 :提供了一种传递代码块作为委托参数的技术。匿名方法是没有名称只有主体的方法。
在匿名方法中不需要指定返回值类型,系统会在主体内的 return 语句推断。
static int Test1(int arg1,int arg2) { return arg1 + arg2; } static void Main(string[] args) { // Funcplus = Test1;//这是正常使用委托的方式 //使用匿名方法的形式Func plus = delegate (int arg1, int arg2) { return arg1 + arg2; };}
匿名方法即没有名字的方法,关键字是 delegate
匿名方法只能将方法赋值给委托,通过委托调用该方法
匿名方法本质上是一个方法,只是没有名字,任何使用委托变量的地方都可以使用匿名方法
赋值
Lambda 表达式
Lambda 表达式是匿名方法的简写形式 , 用来代替匿名方法
static void Main(string[] args) { // Funcplus = 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) { Functest2 = a => a+1;//简写形式 Func test3 = (a) =>//普通形式 { return a + 1; }; Console.WriteLine(test2(22)); Console.ReadKey(); }
Lamdba表达式的几种形式:
转载地址:https://czhenya.blog.csdn.net/article/details/77943561 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
感谢大佬
[***.8.128.20]2024年04月14日 08时47分56秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
LOJ NOI Round #1,#2 好题怒补
2019-04-30
小胖虎带你了解MySQL 数据库基础
2019-04-30
菜鸟笔记八:内嵌框架属性:iframe
2019-04-30
菜鸟笔记九:video
2019-04-30
vue面试题一
2019-04-30
vue面试题二
2019-04-30
vue面试题四
2019-04-30
菜鸟笔记十:选择器
2019-04-30
菜鸟笔记十一:flex布局
2019-04-30
Mybatis动态sql拼接多个like模糊查询
2019-04-30
mybatisplus的按需自动注入
2019-04-30
LeetCode 19.删除链表的倒数第 N 个结点
2019-04-30
多线程 思维导图
2019-04-30
常用类介绍 思维导图
2019-04-30
Vector子类
2019-04-30
set集合
2019-04-30
HashSet集合
2019-04-30
TreeSet集合
2019-04-30
TreeSet比较器
2019-04-30
集合的迭代输出
2019-04-30