運行C#7的最低.NET框架和CLR版本要求是什麼?另外,我是否需要VS 2017來編譯C#7?C#7 .NET/CLR/Visual Studio版本要求
39
A
回答
74
你不需要瞄準.NET 4.6及以上版本,這是不正確的。要使用元組,您需要System.ValueTuple NuGet包。右邊https://www.nuget.org/packages/System.ValueTuple/你可以看到它說它支持4.5及以上,實際上,它支持4.0及以上。如果你想變得瘋狂,如果你創建了自己的System.ValueTuple
類,它完全可以做到這個包,它可以在.NET 3.5上工作,也可能會老一些。對於「類任務」類型,您還需要一個NuGet包,https://www.nuget.org/packages/System.Threading.Tasks.Extensions/。根據其文檔,此軟件包也適用於.NET 4.5及更高版本。
其他C#7功能將在.NET 2及更高版本上工作,因爲它們只是語法糖。舉例來說,我只是寫了下面的.NET 2.0和它正確地拋出:
static void Main(string[] args)
{
string test = null;
string d = test ?? throw new ApplicationException("test");
}
同樣,int.TryParse("123", out int i);
作品就好在.NET 2.0。我沒有測試每一個C#7的功能,但總的來說,除了元組(除了元組以外,還有它們的相關特性,如解構),它應該在.NET 2.0及更高版本中工作,因爲它大部分只是語法糖。話雖如此,是的你需要VS2017來編譯C#7。我確信在某些時候,其他編譯器將支持C#7,但不是今天。
特點我在.NET 2.0確認工作:
- 二進制文字
- 位分隔符
- 在線
out
參數 - 使用
_
放棄了參數 - 本地功能
- 類型基於模式的匹配
if (obj is int i)
和case int i:
- 常數模式匹配
if (i is 2)
- 瓦爾模式匹配
if (i is var j)
- 價返回
- 擲表達式
- 表達健全getter和setter
- 表達健全構造函數和終結
1
要使用C#7開箱即用的全部功能(不需要引用nugets等),你需要VS 2017和.Net 4.7作爲目標框架。
相關問題
- 1. com.databricks.spark.csv版本要求
- 2. GEM版本要求棄用
- 3. Richfaces要求jre版本
- 4. iphone部署版本要求
- 5. bigRF要求R版本3.1
- 6. Quickbooks Online REST API次要版本7
- 7. 需要Visual Studio android sdk更新版本
- 8. 需要Gradle版本1.8。當前版本是1.9-rc-3 - Android Studio
- 9. .NET版本的Visual Studio
- 10. 編譯版本與最低要求版本Android
- 11. 「實用導軌」版本要求
- 12. 機架要求Ruby版本> = 2.2.2
- 13. 符合FCC要求的穩定版本
- 14. SqlDataAdapter.Update:是否存在SQL版本要求?
- 15. 爲什麼pom.xml要求版本依賴?
- 16. 確定最低要求的PHP版本
- 17. Android ADT版本要求20.0.0及以上
- 18. 找不到滿足要求的版本
- 19. 哪個Hadoop版本符合RHive要求
- 20. jsoup的java或jdk版本要求
- 21. 'unix_timestamp'的最低MySQL版本要求
- 22. PHP版本的服務器要求
- 23. 解析PHP SDK版本要求
- 24. 最低要求的版本管理
- 25. 要求特定版本的ActiveRecord
- 26. jQuery的最低要求版本
- 27. WebSphere 7 - Jython版本
- 28. 特定Visual Studio版本支持哪些C++版本?
- 29. 將Visual Studio 2008從試用版升級到Windows 7 Beta版(內部版本7000)
- 30. NPM報告「要求(一個版本)」,但將加載(另一個版本)」
任何.NET版本4.6.x都可以。 Roslyn是開源的,所以任何事情都是可能的。如果你想讓別人爲你做,那麼下載VS2017。它昨天發佈。社區版是免費的。 –