C#6新特性,让你的代码更干净

发表于:2016-6-06 09:51

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:garfieldzf    来源:51Testing软件测试网采编

  前言
  前几天看一个朋友的博客时,看他用到了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}";
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号