C#6新特性,让你的代码更干净
作者:网络转载 发布时间:[ 2016/6/6 10:49:31 ] 推荐标签:.NET 测试开发技术
4、空判断
空判断我们也经常,C#6新特性也让新特性的代码更见简便
//老的语法,简单却繁琐。我觉得很繁琐
Post post = null;
string title = "";
if (post != null)
{
title = post.Title;
}
//C#6新特性一句代码搞定空判断
title = post?.Title;
空集合判断,这种场景我们在工作当中实在见的太多,从数据库中取出来的集合,空判断、空集合判断都会遇到。
Post post = null;
List posts = null;
if (posts != null)
{
post = posts[0];
}
//新特性,我们也是一句代码搞定。是不是很爽?
post = posts?[0];
5、getter-only 初始化器
这个我倒没觉得是新特性,官方给出的解释是当我们要创建一个只读自动属性时我们会这样定义如下
public class Post
{
public int Votes{get;private set;}
}
//新特性用这种方式
public class Post
{
public int Votes{get;}
}
6、方法体表达式化
英语是Expression Bodied Members。其实我觉的也是Lambda的延伸,也算不上新特性。
public class Post
{
public int AddOld()
{
return 1 + 1;
}
//新特性还是用Lambda的语法而已
public int AddNew() => 1+1;
}
7、用static using来引用静态类的方法
我完全没搞明白这个特性设计意图在哪里,本来静态方法直接调用一眼能看出来哪个类的那个方法,现在让你用using static XXX引入类。然后直接调用其方法, 那代码不是自己写的,一眼还看不出这个方法隶属那个类。
总结
其中的string插值和空判断是我喜欢的特性了,当然收集的可能不全,欢迎补充。 同时我很期待微软好好把ASP.NET Core开发下。做点对.net负责的产品。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。

sales@spasvo.com