C#--委托,匿名函数,匿名类型

委托

委托是一种引用类型,表示对具体特定参数列表返回类型的方法的引用,用于将方法作为参数传递给其他方法。
  • 委托类似于 C++ 函数指针,但委托完全面向对象,不像 C++ 指针会记住函数,委托会同时封装对象实例和方法。-
  • 委托允许将方法作为参数进行传递。
  • 委托可用于定义回调方法。
  • 委托可以链接在一起;例如,可以对一个事件调用多个方法。
  • 方法不必与委托类型完全匹配。 委托中的变体:使用委托中的变体 (C#) | Microsoft Learn
  • 使用 Lambda 表达式可以更简练地编写内联代码块。

匿名函数

可以使用Lambda表达式来创建匿名函数;任何 Lambda 表达式都可以转换为委托类型。 
匿名函数的实例样式
x => x + 1                  // 隐式类型,表达式
x => { return x + 1; }           // 隐式类型,语句
(int x) => x + 1               // 显示类型,表达式
(int x) => { return x + 1; }       // 显式类型,语句体
(x, y) => x * y               // 多参数
() => Console.WriteLine()            // 没有参数
async (t1,t2) => await t1 + await t2    // 异步
delegate (int x) { return x + 1; }    // 匿名方法表达式
delegate { return 1 + 1; }         // 匿名方法表达式 忽略参数

匿名类型

匿名类型提供了一种方便的方法,可用来将一组只读属性封装到单个对象中,而无需首先显式定义一个类型。每个属性的类型由编译器推断。
可结合使用 new 运算符和对象初始值设定项创建匿名类型。
匿名类型包含一个或多个公共只读属性。 包含其他种类的类成员(如方法或事件)为无效。 用来初始化属性的表达式不能为 null、匿名函数或指针类型。

实例:
var v = new { Amount = 108, Message = "Hello" };

//将鼠标指针停留在v.Amount和v.Message上来验证它们的推断类型是int和string。
Console.WriteLine(v.Amount + v.Message);

全部评论

相关推荐

08-07 11:15
门头沟学院 Java
感觉他们公司效率好高,秒挂我简历然后又给我推荐了岗位让我投原批yyds
没有offer别哭好...:是的,然后我投了邮件里的链接,又秒挂了
投递米哈游等公司8个岗位
点赞 评论 收藏
分享
来个厂收我吧:首先,市场侧求职我不是很懂。 但是,如果hr把这份简历给我,我会觉得求职人不适合做产品经理。 问题点: 1,简历的字体格式不统一,排版不尽如人意 2,重点不突出,建议参考star法则写个人经历 3,印尼官方货币名称为印度尼西亚卢比(IDR),且GMV690000印尼盾换算为305人民币,总成交额不高。 4,右上角的意向职位在发给其他公司时记得删除。 5,你所有的经历都是新媒体运营,但是你要投市场营销岗位,jd和简历不匹配,建议用AI+提示词,参照多个jd改一下经历内容。 修改建议: 1,统一字体(中文:思源黑体或微软雅黑,英文数字:time new romans),在word中通过表格进行排版(b站学) 2,校招个人经历权重:实习经历=创业经历(大创另算)>项目经历>实训经历>校园经历 3,请将项目经历时间顺序改为倒序,最新的放最上方。 4,求职方向不同,简历文字描述侧重点也需要不同。
点赞 评论 收藏
分享
08-06 12:09
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务