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那些事