news 2026/5/11 14:58:44

C# Lambda表达式实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C# Lambda表达式实战指南

《lambda》

lambda表达式:可以让我们定义一个变量接收一个函数,主要是作为另外一个函数的参数进行使用,具体体现变量和函数之间使用=>,所以其他编程语言称之为箭头函数,但严谨来说c#没有箭头函数。
如果一个函数仅在当前作用域进行使用,可以把函数定义在当前作用域就行

定义lambda表达式
方法的组成 参数列表,返回值,方法名,方法体

1 使用Func关键字接收有返回值的lambd表达式
Func<> 方法类型,函数类型
第一个类型 是参数1的类型
第二个类型 是参数2的类型
第三个类型 是返回值的类型
f1 变量名
(a,b)参数类别 不用写类型,多个参数时候加()
=>表达式
{}方法体
有返回值的添加return 关键字。

Func<int,int,int> f1=(a, b) => { return a + b; };

2 其他的接收lambda表达写法 使用Action 关键字接收无返回值的
定义一个字符串参数 无返回值的lambd表达式
如果一个参数可以把()不写
如果函数体只有一句可以把{}省掉
Action<string> f2 = a => Console.WriteLine(a);

3 Predicate<>关键字接收返回值为bool类型的lambda表达式
Predicate<int > f3 = a => a %2==0;

lambda 具体的使用场景:最为另外一个函数参数进行使用,数组的查询方法当中使用
int[] ints = { 1, 2, 3, 4,6,9 };
Console.WriteLine(Array.Find(ints, a=>a%2==0));/

int[] ss= Array.FindAll(ints,v=>v%3==0);//找到所有的数组

遍历数组
for (int i = 0; i < ss.Length; i++)
{
Console.WriteLine(ss[i]+"-----");
}
第二种遍历数组
foreach (var item in ss)
{
Console.WriteLine(item+"++++++++");
}
第三种遍历数组
Array.ForEach(ss, v => Console.WriteLine(v + "???????"));

where 找到所有满足条件的元素
ints.Where(v => { return v % 3 == 0; });
foreach (var item in ints.Where(v => { return v % 3 == 0; }))
{
Console.WriteLine(item);
}
《可空类型数据》

空类型null,引用类型的变量都可以赋值成null

基本数据类型不能赋值为null的

如果想让基本数据类型能够赋值为null 可以使用?

既想使用可空类型 又想使用基本类型进行运算,可以把可空类型再加一个问号 使用双??

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/10 20:12:28

MTTF入门指南:5分钟理解可靠性工程核心指标

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个交互式MTTF教学演示工具&#xff0c;功能包括&#xff1a;1. 简单易懂的MTTF概念解释&#xff1b;2. 可视化示例展示MTTF计算过程&#xff1b;3. 互动小测验验证学习效果。…

作者头像 李华
网站建设 2026/5/9 1:19:06

VoxCPM-0.5B:无标记化语音合成的技术革命与商业应用

VoxCPM-0.5B&#xff1a;无标记化语音合成的技术革命与商业应用 【免费下载链接】VoxCPM-0.5B 项目地址: https://ai.gitcode.com/OpenBMB/VoxCPM-0.5B 在语音合成技术快速发展的今天&#xff0c;传统基于离散标记的方法面临着自然度瓶颈和计算效率挑战。VoxCPM-0.5B作…

作者头像 李华
网站建设 2026/5/9 2:27:28

Dify离线部署:AI如何助力本地化开发环境搭建

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个Dify离线部署的AI辅助开发工具&#xff0c;支持自动检测本地环境依赖、一键部署Dify服务、智能配置调优。功能包括&#xff1a;1. 环境兼容性检查 2. 离线包自动下载和解压…

作者头像 李华
网站建设 2026/5/11 14:07:50

MeiliSearch零基础入门:10分钟搭建第一个搜索服务

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个最简单的MeiliSearch入门示例&#xff0c;包含&#xff1a;1. Docker方式启动MeiliSearch服务 2. 用Python脚本导入示例数据集&#xff08;如电影标题和简介&#xff09;3.…

作者头像 李华
网站建设 2026/5/9 1:19:06

patchwork:正经生信人拼图谁用AI啊?

01写在前面 最近画了几张热图&#xff0c;准备拿AI拼一拼&#xff08;没错我就是那个不正经的生信人&#xff09;&#xff0c;无奈图片太大&#xff0c;AI读进去就卡的动不了&#xff0c;被迫只能用R语言拼图&#xff0c;不过patchwork用起来是真香&#xff0c;基本上你在R中可…

作者头像 李华
网站建设 2026/5/10 9:34:38

3D模型压缩革命:5分钟掌握Draco核心技术实战指南

3D模型压缩革命&#xff1a;5分钟掌握Draco核心技术实战指南 【免费下载链接】draco Draco is a library for compressing and decompressing 3D geometric meshes and point clouds. It is intended to improve the storage and transmission of 3D graphics. 项目地址: htt…

作者头像 李华