当前位置: 首页 > news >正文

匿名方法与Lambda表达式+泛型委托

匿名方法

和委托搭配使用,方便我们快速对委托进行传参,不需要我们定义一个新的函数,直接用delegate关键字代替方法名,后面跟上参数列表与方法体。

格式:delegate(参数列表){方法体}

lambda表达式

是匿名方法的升级,较匿名方法更加简写,当你的方法体只有一句语句的时候,可以不写return,甚至可以没有花括号,参数列表的参数甚至可以不写数据类型,但如果说方法体里一旦出现了return,一定要加上花括号。

格式:例如:Sort(list,(a,b)=>a<b);(在委托声明完整的排序方法下,实现的降序排列)

(lambda表达式不建议使用,实际开发中可能会影响代码的可读性)

泛型委托

C#提供好了两个泛型委托的模板供我们使用,这两个模板基本上可以适用于所有的委托。所以其实不需要我们自定义。

1.不带返回类型的泛型委托——Action<类型1,类型2,...,类型n>参数列表是对应的参数类型。

2.带返回类型的泛型委托——Func<类型1,类型2,...,类型n>

参数列表的末尾的类型是作为返回类型使用

自定义泛型委托

格式:delegate T 委托名<T>(T参数);

使用第一条的示例
using System;namespace 事件
{class Program{static void Main(string[] args){Test(100, ActionEvent);}public static void ActionEvent(int a){Console.WriteLine(a);}public static void Test(int num,Action<int> del){del(num);}}}

其运行结果如下所示:

该系列专栏为网课课程笔记,仅用于学习参考。 


http://www.mrgr.cn/news/41570.html

相关文章:

  • 计算机毕业设计Python+Spark知识图谱酒店推荐系统 酒店价格预测系统 酒店可视化 酒店爬虫 酒店大数据 neo4j知识图谱 深度学习 机器学习
  • 秒懂Linux之线程
  • 使用pytdx获取股票行情数据
  • NASA:ATLAS/ICESat-2 L3B 平均内陆地表水数据 V002
  • 关于深度学习torch的环境配置问题
  • C#中的事件、代理与任务:深入剖析发布者 - 订阅者模式中的关键元素
  • Elasticsearch基础_5.ES聚合功能
  • Pycharm关于Interpreter问题:ModuleNotFoundError: No module named
  • 深度学习:cGAN和pix2pix图像转换
  • Pikachu-xss实验案例-键盘记录
  • 提升效率的秘密武器选择与使用指南
  • 《MoCo:Momentum Contrast for Unsupervised Visual Representation Learning》中文校对版
  • 常见的性能问题(如内存泄漏、Full GC频繁)的排查与解决。TCP的三次握手与四次挥手过程。
  • 业务封装与映射 -- 业务映射路径
  • 「C++系列」预处理器
  • 毕业设计选题:基于ssm+vue+uniapp的教学辅助小程序
  • ros2 自定义工作空间添加source
  • 【嵌入式裸机开发】智能家居入门3(MQTT服务器、MQTT协议、微信小程序、STM32)
  • 【超详细】Python、JDK、vscode安装
  • CSS盒子模型基础知识(23个案例+代码+效果图)