新普京网站-澳门新普京 > 前端 > 个你真的应该学习的功能,个你真的应该学习

个你真的应该学习的功能,个你真的应该学习

2019/12/29 17:19

本文由码农网 – 小峰原创翻译,转发请看清文末的转发必要,应接参与大家的付费投稿陈设!

假若你最先查究C#或调控扩张你的知识,那么你应当学学这一个立竿见影的言语功能,那样做推进简化代码,幸免不当,节省多量的年华。

假如您以前探求C#或调整扩展你的学问,那么您应当学习那个一蹴而就的语言作用,那样做推波助澜简化代码,制止不当,节省一大波的光阴。

图片 1

图片 2

1)async / await

运用async / await-pattern允许在执行拥塞操作时扼杀UI /当前线程的短路。async / await-pattern的劳作规律是让代码继续实施,就算在好几事物堵塞了施行(如Web央求)的情况下。

开卷更加的多关于async / await-pattern的新闻,请访问:

1)async / await

选拔async / await-pattern允许在试行堵塞操作时去掉UI /当前线程的封堵。async / await-pattern的行事原理是让代码继续实行,纵然在一些事物梗塞了实施(如Web央浼)的事态下。

读书更加多关于async / await-pattern的音讯,请访问:

2)对象/数组/集结开始化器

因而接纳对象、数组和汇聚初叶化器,能够轻松地创设类、数组和聚焦的实例:

//一些演示类
public class Employee {
    public string Name {get; set;}
    public DateTime StartDate {get; set;}
}

//使用初始化器创建employee 
Employee emp = new Employee {Name="John Smith", StartDate=DateTime.Now()};

上面的事例在单元测验中才真的有用,但在别的上下文中应该防止,因为类的实例应该运用布局函数创建。

读书愈来愈多关于开首化器的音信,请访谈:

2)对象/数组/集结开端化器

由此采取对象、数组和集结开端化器,可以轻巧地创造类、数组和聚合的实例:

//一些演示类
public class Employee {
    public string Name {get; set;}
    public DateTime StartDate {get; set;}
}

//使用初始化器创建employee 
Employee emp = new Employee {Name="John Smith", StartDate=DateTime.Now()};

上边包车型客车例子在单元测量试验中才真的有用,但在别的上下文中应该制止,因为类的实例应该运用布局函数成立。

读书越来越多关于起头化器的新闻,请访问:

3)Lambdas,谓词,delegates和闭包

在重重情景下(比如使用Linq时),这个职能实以致关重要的,确定保证学习曾几何时以至如何运用它们。

翻阅更多关于拉姆das,谓词,delegates和闭包的新闻,请访谈:

3)Lambdas,谓词,delegates和闭包

在数不完场合下(举个例子使用Linq时),那个成效实乃必需的,确定保障学习哪天以致怎么着利用它们。

读书更加的多关于Lambdas,谓词,delegates和闭包的音信,请访谈:

4)??(空合併运算符)

?? – 运算符再次来到右侧,只要它不为null;那样的动静下重返侧边:

//可能为null
var someValue = service.GetValue();
var defaultValue = 23

//如果someValue为null,结果将为23
var result = someValue ?? defaultValue;

?? – 运算符能够链接:

string anybody = parm1 ?? localDefault ?? globalDefault;

再正是它可以用来将可空类型转换为不可空:

var totalPurchased = PurchaseQuantities.Sum(kvp => kvp.Value ?? 0);

阅读越多关于?? – 运算符的消息,请访谈:

4)??(空合併运算符)

?? – 运算符重临侧边,只要它不为null;那样的气象下回到侧面:

//可能为null
var someValue = service.GetValue();
var defaultValue = 23

//如果someValue为null,结果将为23
var result = someValue ?? defaultValue;

?? – 运算符能够链接:

string anybody = parm1 ?? localDefault ?? globalDefault;

与此同期它能够用于将可空类型转变为不可空:

var totalPurchased = PurchaseQuantities.Sum(kvp => kvp.Value ?? 0);

翻阅更加多关于?? – 运算符的音信,请访谈:

5)$“{x}”(字符串插值) ——C#6

这是C#6的三个新职能,能够令你用高速和文雅的法门组装字符串:

//旧方法
var someString = String.Format("Some data: {0}, some more data: {1}", someVariable, someOtherVariable);

//新方法
var someString = $"Some data: {someVariable}, some more data: {someOtherVariable}";

您能够把C#表达式放在花括号之间,那使得此字符串插值特别苍劲。

上一篇:没有了 下一篇:没有了