我创建了一个带有C#6.0好东西的示例项目-以零传播和属性初始化为例,设置目标版本.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);
}
}
- 维基百科说用于C#6.0的.NET框架是4.6。
- 这个问题(和Visual Studio 2015 CTP测试)说CLR版本是4.0.30319.0。
- 这个MSDN页面上说.NET 4、4.5、4.5.2使用CLR4。没有有关.NET 4.6的任何信息。
这是否意味着我可以针对针对.NET 4.0的软件使用C#6.0功能?有任何限制或缺点吗?