C#6.0新特性

来源:互联网 发布:民族虚无主义知乎 编辑:程序博客网 时间:2024/06/06 00:00

1、自动属性增强

1.1、自动属性初始化与只读属性初始化
public class Person    {        public string Name { get; set; } = "sandy";        public int Age { get; } = 20;    }

2、用Lambda作为函数体 (Expression bodies on method-like members)

    public class Person    {        public string FirstName { get; set; }        public string LastName { get; set; }        public override string ToString() => string.Format("{0}——{1}", FirstName, LastName);    }

3、Lambda表达式用作属性 (Expression bodies on property-like function members)

 public class Person    {        public string FirstName { get; set; }        public string LastName { get; set; }        public string FullName => FirstName + " " + LastName;    }

4、字符串嵌入值 (String interpolation)

 public class Person    {        public string FirstName { get; set; }        public string LastName { get; set; }        public string FullName =>$"{FirstName } {LastName }";        //上这两句等价        public string fName => string.Format("{0} {1}", FirstName, LastName);    }    class Program    {        static void Main(string[] args)        {            Person p = new Person();            p.FirstName = "a";            p.LastName = "b";            Console.WriteLine(p.FullName);            Console.WriteLine(string.Format($"FirstName is {p.FirstName}"));            //等价于如下            Console.WriteLine(string.Format("FirstName is {0}", p.FirstName));        }    }

其他新特性以后在补充了。

所有不带着问题的努力,都是瞎忙

参考资料
1、C# 6.0那些事

原创粉丝点击