普遍認為 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中文網其他相關文章!