普遍认为 C# 6.0 需要 .NET Framework 4.6,但这并非完全准确。
C# 6.0 的特性使用 Roslyn 编译器编译,允许其目标为较旧的框架版本。然而,当这些特性依赖于框架本身的支持时,就会出现限制。
例如,C# 6.0 中的字符串插值可在较早的 .NET 版本中工作,因为它会转换为 string.Format。但是,与 IFormattable 一起使用则需要 .NET 4.6,因为 System.FormattableString 是在该版本中引入的。
至于您提到的特定特性,即空传播和属性初始化,它们不需要框架的支持,因此可以在 .NET 4.0 中使用。
但是,需要注意的是,虽然使用这些特性针对 .NET 4.0 编译代码可能会成功,但如果代码依赖于该框架版本中不可用的类型,则可能会出现运行时异常。
以上是哪些 .NET Framework 版本与 C# 6.0 功能兼容?的详细内容。更多信息请关注PHP中文网其他相关文章!