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

=>符号含义

=>主要有两方面的作用,一个限制属性状态,另一个简化匿名委托和Lambda


用法一:定义只读属性

public class ManPeople {     public string Sex => "男";public string Name { get; set; }}public class WomanPeople {    public string Sex => "女";public string Name { get; set; }}

public string Sex => "男";

这里=>的用法相当于 { get; } = 即:将Sex字段设置为了只读属性,同时进行了赋值。

public string Sex { get;  } = "男"


用法二:Lambda表达式,匿名委托

例如定义一个委托:
delegate int DeMethod(int a, int b);
再定义一个方法:
int Add(int a, int b)
{
return a + b;
}
我可能需要这样通过委托调用方法:
DeMethod m += Add;
Console.WriteLine(m(2, 3));


采用 C# 2.0 的匿名方法语法:
DeMethod m += delegate(int a, int b) { return a + b; };
Console.WriteLine(m(2, 3));


采用C#3.0  Lambda 表达式:
DeMethod m += (a ,b) => a + b;
Console.WriteLine(m(2, 3));
可以省去方法的定义。
实际上, Lambda 表达式只是简化了匿名方法的语法而已。


最后C#中 += (s, e) => 这些字符什么意思

public MainWindow(){InitializeComponent();this.Loaded += (s, e) => InitSomeConfig();this.Unloaded += (s, e) => this.Value= null;}

在上面的代码中,+=是在委托链上增加一个委托,(s,e) =>是一个lambda表达式,这个表达式创建一个委托,委托处理的主体就是=> 后面的部分。

其实这个写法相当于

this.Loaded += new EventHandler(Form_Loaded);private void Form_Loaded(object sender,   EventArgs e) {InitSomeConfig ();
}

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

相关文章:

  • Docker+Jenkins(blueocean)+Gitee构建CICD流水线实战
  • Redis快速入门
  • EasyExcel 修改导出的文件属性
  • 电子班牌云平台系统——智慧校园管理工具,多媒体信息发布、走班排课、家校互通、物联控制、教务管理、考勤管理、素质评价、日常办公
  • docker-compose 部署 Seata整合nacos,Postgresql 为DB存储
  • three.js 场景中如何彻底删除模型和性能优化
  • Bridge Champ举办人机对战赛:NFT游戏与传统竞技共生发展编织新格局
  • Visual Studio软件_MSC_VER值(MSVC编译器版本)的获取方法
  • 02-Linux-IO多路复用之select、poll和epoll详解
  • echo、print_r、print、var_dump 、die
  • 【LeetCode75】第四十四题 省份数量
  • 把DTC从Excel导入cdd的方法
  • 养猪废水处理设备的处理方法
  • 【React】React学习:从初级到高级(三)
  • Rest和Http什么关系?
  • leetcode原题: 生存人数
  • K8S的介绍和架构
  • linux信号量
  • Jupyter Notebook 好用在哪?
  • 华为云云服务器评测|基于云服务器的minio部署手册
  • 【网络安全带你练爬虫-100练】第22练:数据包中参数提取与处理
  • 第64步 深度学习图像识别:多分类建模误判病例分析(Pytorch)
  • ES查询报错内容长度超过104857600
  • 2023欧亚合作发展大会暨国际公共采购大会在京举行
  • 宝塔面板linux在终端使用命令开启服务保持服务不关闭
  • 面试题--从键盘输入网站到网页显示,之间发生了什么
  • 字节9.3秋招研发笔试 【后端方向】第三题
  • Solidity 小白教程:8. 变量初始值
  • 时序预测 | MATLAB实现EEMD-SSA-LSTM、EEMD-LSTM、SSA-LSTM、LSTM时间序列预测对比
  • 京东搜索EE链路演进 | 京东云技术团队