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

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 可以使用?

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

http://www.cnnetsun.cn/news/25886.html

相关文章:

  • C语言作业
  • 面向初学者的Modbus通信入门指南,使用完全免费的开发工具完成基础通信测试,无需寻找商业软件的注册码。包含step by step操作步骤和常见问题解答。
  • 1小时构建MTTF监控看板:快速原型开发实战
  • Nacos配置管理:传统方式与AI辅助开发效率对比
  • 【收藏必备】企业AI落地5大挑战:AI产品经理实战指南
  • 电商平台Redis缓存管理实战案例
  • 5分钟快速上手GPT-2 XL:新手必看的完整指南
  • AI助力开发:用VSCode摸鱼插件提升编程效率
  • 如何零基础搭建本地AI搜索引擎:从Google依赖到自主掌控
  • AI如何帮你快速搭建RAID10存储系统?
  • GC5035图像传感器深度解析与完整指南
  • 终极串口调试助手:RS485/RS232设备测试完全指南
  • 【YOLO11-MM 多模态目标检测】交叉CrossTransformerFusion特征融合、抛弃Concat、实现全局把控
  • 1小时验证创意:蓝牙水控器原型开发全记录
  • 5分钟快速验证:用Docker在Ubuntu搭建Python数据分析环境
  • VCU应用层模型:实车量产中独立功能模型的编译支持
  • Sanic框架CLI参数解析异常深度解析与修复指南
  • 效率对比:传统vs AI辅助开发Vue-Baidu-Map
  • Bodymovin/Lottie完整教程:从零开始掌握动画导出与渲染
  • Figma汉化插件实战:跨国团队协作的救星
  • 永磁同步电机控制玩的就是环套环的把戏,今天咱们拆解一套RSMDO+DBCC组合拳。这玩意儿在工业现场对付参数变化和负载扰动特别带劲,不信你看完下面的代码实操
  • 2024年CUPT技术探索:水滴透镜comsol仿真技术与实际应用分析
  • Linux小白也能懂:fcitx5中文输入法安装使用图解
  • 用AI构建导师评价系统:5分钟开发全流程
  • AI图像修复工具深度优化指南:从基础应用到专业调优
  • AI一键生成Oracle安装脚本,告别复杂配置
  • 实用Node-RED编程:从零到精通的完整学习指南
  • OpenAI Whisper Turbo模型实战部署:从零到一构建高效语音转写系统
  • 企业级项目中依赖注入错误的5个真实案例解析
  • MES信息化智能化解决方案,MES实施方案