前言
前几天看一个朋友的博客时,看他用到了C#6的特性,而6出来这么长时间还没有正儿八经看过它,今儿专门看了下新特性,说白了也不过是语法糖而已。但是用起来确实能让你的代码更加干净些。Let’s try it.
1、集合初始化器
//老语法,一个类想要初始化几个私有属性,那就得在构造函数上下功夫。 public class Post { public DateTime DateCreated { get; private set; } public List<Comment> Comments { get; private set; } public Post() { DateCreated = DateTime.Now; Comments = new List<Comment>(); } } public class Comment { } //用新特性,我们可以这样初始化私有属性,而不用再创建构造函数 public class Post { public DateTime DateCreated { get; private set; } = DateTime.Now; public List<Comment> Comments { get; private set; } = new List<Comment>(); } public class Comment { } |
2、字典初始化器
这个我倒是没发现有多么精简
var dictionary = new Dictionarystring, string> { { "key1","value1"}, { "key2","value2"} }; //新特性 var dictionary1 = new Dictionarystring, string> { ["key1"]="value1", ["key2"]="value2" }; |
3、string.Format
经常拼接字符串的对这个方法肯定不模式了,要么是string.Format,要么就是StringBuilder了。这也是我最新喜欢的一个新特性了。
Post post = new Post(); post.Title = "Title"; post.Content = "Content"; //通常情况下我们都这么写 string t1= string.Format("{0}_{1}", post.Title, post.Content); //C#6里我们可以这么写,后台引入了$,而且支持智能提示。 string t2 = $"{post.Title}_{post.Content}"; |