=>符号使用场景

简介: =>符号使用场景

=>在C#项目开发中会经常被用到,但是有相当一部分的开发人员并不清楚怎么读和它的使用场景,那么这篇文章我就来带领大家详细学习一下=>的使用场景。

怎么读?

首先=>读作 goes to /gəʊz tuː/。

使用场景

定义只读属性

我们先来看一段代码:

public class Man : IPet
{
  public string Title=> "猫咪";
  public string Sex { get; set; }
}
public class Woman : IPet
{
  public string Title=> "狗狗";
  public string Sex{ get; set; }
}

看到上面的代码是不是会有疑问?为什么用=>而不去直接赋值呢?其实这里=>的用法和 { get; }=类似,都是将Title字段设置为只读属性,同时进行了赋值。如果我们向Title赋值IDE将提示我们错误,如下图:

image.png

匿名委托

我们来看个例子:

//定义委托
delegate int WT(int a, int b);
//定义方法
int Add(int a, int b)
{
  return a * b;
}
//调用委托
WT wt += Add;
Console.WriteLine(wt(99, 98));

上面的代码看着稍显复杂,但时用了Lambda 表达式后就简单了:

delegate int WT(int a, int b);
WT wt += (a ,b) => a * b;
Console.WriteLine(wt(99, 98));

这样做可以节省定义方法的代码。实际上Lambda表达式简化了匿名方法的语法。我们在一些代码中会看到这样的代码 += (s, e) =>,那么这些字符是什么意思呢?其实 +=是在委托链上增加一个委托,而(s,e) =>则是lambda表达式,它创建了一个委托,委托处理的主体就是=>后面的部分。例如下面的代码:

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

相当于如下写法:

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

总结

本篇文章主要讲解了=>的使用,一个是定义只读属性,一个是匿名委托,这两个场景需要牢记。

目录
相关文章
|
7月前
|
存储 C语言
C语言中如何选择合适的方式将整数转换为浮点数
C语言中如何选择合适的方式将整数转换为浮点数
1603 0
|
7月前
|
C语言
【C语言】大小写字母的相互转化:多种方法解析及原理说明
【C语言】大小写字母的相互转化:多种方法解析及原理说明
485 0
|
13天前
|
JavaScript 前端开发 Java
模板字符串和普通字符串的性能差异大吗?
总体而言,模板字符串和普通字符串的性能差异并非在所有场景下都非常显著,但在一些复杂的、对性能要求较高的场景中,模板字符串可能会展现出一定的优势。不过,在实际开发中,性能并非是选择使用哪种字符串的唯一考量因素,代码的可读性、可维护性以及开发效率等同样重要。
|
4月前
数字符号概述
数字符号概述
20 0
|
7月前
|
存储 人工智能 程序员
溢出、截断、类型提升:从易错代码入手分析整型数据存储与类型转换
这篇文章介绍了关于数据在内存中的存储以及可能出现的溢出问题,包括整型数据的存储方式、取值范围以及溢出的现象和原因。文章通过例子和罗盘图解释了整型数据溢出时的计算过程,并指出在进行运算时要注意数据类型的转换和可能的溢出情况。此外,文章还给出了几个练习题,帮助读者理解和应用这些知识。
221 0
|
7月前
什么是扩展运算符?使用场景
什么是扩展运算符?使用场景
65 0
|
7月前
什么是扩展运算符?有什么使用场景?
什么是扩展运算符?有什么使用场景?
|
前端开发
形成新数组的方式扩展运算符
形成新数组的方式扩展运算符
42 0
|
编译器 C++
c++中基本类型详细解释外加基本运算规则
类型 含义 wchat_t 宽字符 bool 布尔类型 char 字符 chat16_t unicode字符 chat_32 unicode字符 short 短整型 int 整形 long 长整型 longlong 长整型 float 单精度浮点型 double 双精度浮点型 longdouble 扩展精度浮点型
120 1
|
C语言
位运算,标识符,基本理论,二级易错点
位运算,标识符,基本理论,二级易错点
85 0