C# =amp;gt;符号的使用

Connor 币安app下载 2022-09-21 136 0

前言:

-. 读作 goes to符号交易, 是C#3.0的新内容;

-. 字段定义时设置 { get; set; }属性的作用:

主要是为了外部访问的安全性封装字段,get set你自己可以设置限制条件,尤其是wpf绑定时,没有get set属性,界面是更新不了的符号交易。写上get,set这种访问器的叫属性,不写的叫字段,属性是proprerty,字段叫field

01

用法场景一:定义只读属性

看到这样一段代码:

publicstringName { get; set; } }

publicclassWoman: IPerson{publicstringSex => "女";

publicstringName { get; set; } }

大家可能会有疑问符号交易?为什么用=>

而不是这样去赋值

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

符号交易我们可以在控制台中进行验证:

C# =>符号的使用

去掉> 则错误提示就会消失符号交易

展开全文

02

用法场景二: Lambda表达式符号交易,匿名委托

Lambda表达式符号交易

Lambda表达式是C#3.0的新内容,如果您之前学习的C#2.0,不认识也就不奇怪了符号交易

给您举个例子符号交易

例如符号交易,我定义一个委托:

delegate int Method(int a, int b);

再定义一个方法:

int Add(int a, int b)

return a + b;

符号交易我可能需要这样通过委托调用方法:

Method m += Add;

Console.WriteLine(m(2, 3));

但如果用 Lambda 表达式:

Method m += (a ,b) => a + b;

Console.WriteLine(m(2, 3));

可以省去方法的定义符号交易

实际上, Lambda 表达式只是简化了匿名方法的语法而已符号交易

附 C# 2.0 的匿名方法语法:

Method m += delegate(int a, int b) { return a + b; };

Console.WriteLine(m(2, 3));

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

public MainWindow

InitializeComponent;

this.Loaded += (s, e) => DiscoverKinectSensor;

this.Unloaded += (s, e) => this.kinect = null;

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

其实这个写法相当于

this.Loaded += new EventHandler(Form_Loaded);

private void Form_Loaded(object sender, EventArgs e) {

DiscoverKinectSensor;

技术群:

小编微信:mm1552923

公众号:dotNet编程大全

技术群:

小编微信:mm1552923

公众号:dotNet编程大全

评论