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

C# Lambda表达式含义及各种写法

Lambda表达式在各个语言中的表达方式都不太相同,本文重点介绍C#的Lambda表达式。

首先,Lambda表达式就是一个匿名的方法/函数。

  以下面的一个完整版作为例子,前面是参数,后面是返回值:

 由于 Lambda表达式和委托常常一起用,所以就在这里讲委托为什么会经常用lmabda表达式。

 由于 Lambda表达式就是一个匿名的方法/函数,如果想要让其赋值给某个变量,我们知道,必须是同返回值同参数的委托才可以用函数来赋值。

在C#中,Func<,,>就是一个委托,逗号中前几个是这个委托的参数,最后一个则是返回值

 因此就用这个写法的委托来承接

完整示例如下:

 由于参数类型可以确定,可以变成这样

再简写:return和括号都可以删去

没有参数没有返回值就是这样:

于是乎,当某个委托需要的参数是一个函数时,我们可以当然可以声明一个函数,然后将该函数赋值给委托,但是更简便的写法是写一个lambda表达式,一个匿名的函数,作为该委托的参数:

例如在List中有一个FindAll的函数,需要的参数是一个函数:

此时就可以写一个匿名表达式了

比如想找奇数,写法如下

然后再例如对于一个for循环就可以写成这样的形式:

http://www.lryc.cn/news/5138.html

相关文章:

  • 计算机组成原理:1. 计算机系统概论
  • 【c#】c#常用小技巧方法整理(5)—— 字符串操作类
  • 用队列实现栈VS用栈实现队列
  • MY2480-16P语音模块的使用
  • I/O 多路复用
  • 2023 最新版网络安全保姆级指南,从0到1,建议收藏!
  • 力扣39.组合总数
  • sql的case when用法详解
  • AtCoder Grand Contest 061(题解)
  • 生成系列论文:文本控制的3d点云生成 TextCraft(一):论文概览
  • IDEA常用插件
  • Spring的事务传播机制
  • Python:路径之谜(DFS剪枝)
  • 阿里巴巴在开源压测工具 JMeter 上的实践和优化
  • React Draggable插件实现拖拽功能
  • MySQL-运算符
  • Hudi-基本概念(时间轴、文件布局、索引、表类型、查询类型、数据写、数据读、Compaction)
  • 数据分享|中国各省、各市、各区县分年、分月、逐日平均气温数据(2000年~2019年)
  • steam/csgo搬砖,2023年最暴利的项目
  • RDSDRDSPolarDBPolarDB-X的区别
  • 【Python学习笔记】30.Python3 命名空间和作用域
  • 后量子 KEM 方案:Kyber
  • 2019年广东工业大学腾讯杯新生程序设计竞赛(同步赛)
  • 生产Nginx现大量TIME-WAIT,连接耗尽,该如何处理?
  • Linux服务器clang-13安装(环境变量配置)
  • 【C++】C/C++内存管理模板初阶
  • 笙默考试管理系统-index展示
  • 前端基础知识6
  • 【项目精选】智慧物业管理系统
  • 解决HC-05/HC06等蓝牙模块的调试问题