=>符号使用场景

简介: =>符号使用场景

=>在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();
}

总结

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

目录
相关文章
|
1月前
|
存储 C语言
C语言中如何选择合适的方式将整数转换为浮点数
C语言中如何选择合适的方式将整数转换为浮点数
111 0
|
1月前
|
C语言
【C语言】大小写字母的相互转化:多种方法解析及原理说明
【C语言】大小写字母的相互转化:多种方法解析及原理说明
106 0
|
3月前
Carve-out 的含义和使用场景介绍
Carve-out 的含义和使用场景介绍
32 0
|
26天前
|
存储 编译器 C语言
【C语言】求任意两整数的和入门详解
【C语言】求任意两整数的和入门详解
6 0
|
1月前
什么是扩展运算符?使用场景
什么是扩展运算符?使用场景
15 0
|
2月前
什么是扩展运算符?有什么使用场景?
什么是扩展运算符?有什么使用场景?
|
8月前
|
运维 Shell Python
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)(一)
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)
89 0
|
8月前
|
前端开发
形成新数组的方式扩展运算符
形成新数组的方式扩展运算符
27 0
|
10月前
|
存储 C语言
内存系列函数+字符分类函数+字符转换函数(保姆级教程)
C语言学习第二十一弹——教你学会内存系列函数和字符分类转换函数简化部分例题
|
12月前
|
编译器 C++
c++中基本类型详细解释外加基本运算规则
类型 含义 wchat_t 宽字符 bool 布尔类型 char 字符 chat16_t unicode字符 chat_32 unicode字符 short 短整型 int 整形 long 长整型 longlong 长整型 float 单精度浮点型 double 双精度浮点型 longdouble 扩展精度浮点型
90 1

热门文章

最新文章