大佬教程收集整理的这篇文章主要介绍了C#6.0是否适用于.NET 4.0?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
是的(大部分)。C#6.0需要新的Roslyn编译器,但是新的编译器可以针对较旧的框架版本进行编译。仅限于 新功能。
例如,虽然您可以将C#6.0中的字符串插值功能与.Net的早期版本结合使用(因为它会导致对的调用String.Format
):
int i = 3;
String s = $"{i}";
您需要.Net 4.6才能使用它,IFormattable
因为仅新的框架版本添加了以下内容System.FormattableString
:
int i = 3;
IFormattable s = $"{i}";
您提到的案例不需要框架中的类型即可工作。因此,编译器完全能够为旧框架版本支持这些功能。
我创建了一个带有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);
}
}
这是否意味着我可以针对针对.NET 4.0的软件使用C#6.0功能?有任何限制或缺点吗?
以上是大佬教程为你收集整理的C#6.0是否适用于.NET 4.0?全部内容,希望文章能够帮你解决C#6.0是否适用于.NET 4.0?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。