我创建了一个示例项目,以C#6.0 goodies-null传播和属性初始化为例,设置目标版本.NET 4.0和它...作品
public class Cat
{
public int TailLength { get; set; } = 4;
public Cat Friend { get; set; }
public string Mew() { return "Mew!"; }
}
class Program
{
static void Main(string[] args)
{
var cat = new Cat {Friend = new Cat()};
Console.WriteLine(cat?.Friend.Mew());
Console.WriteLine(cat?.Friend?.Friend?.Mew() ?? "Null");
Console.WriteLine(cat?.Friend?.Friend?.TailLength ?? 0);
}
}
- Wikipedia says .C#6.0的NET框架是4.6.
- This question (and Visual Studio 2015 CTP test) says CLR version is 4.0.30319.0.
- This MSDN page是这么说的.NET4、4.5、4.5.2使用CLR4.目前还没有关于这方面的任何信息.净4.6.
这是否意味着我可以在面向.NET4.0的软件中使用C#6.0功能?有什么限制或缺点吗?