我想知道你在哪裏畫出了編程語言功能和平臺功能之間的界限。例如,Linq是C#語言功能還是.NET功能。編程語言是否像平臺的規範一樣工作?語言功能vs框架功能
回答
這是一個艱難的行畫,和LINQ是一個很好的例子:
Query expressions,implicitly typed variables和extensions methods在C#和VB.NET語言功能,
具體爲LINQ工作提供必要背景的擴展方法是.NET 3.5及更高版本中的平臺功能。
LINQ的是自3.5版
你可以找到C# specification here的.NET Framework的一部分。
LINQ是.NET特性,因爲它可以從所有CLS兼容語言訪問。 yield語句是C#語言功能。
LINQ是框架的一個組成部分:
爲了使用Linq你必須添加「Linq的」命名空間。你可以不要說是一個延遲語言的FileStream。
嗯,有趣的問題。 .NET實際上更像是一個圖書館,但是它完全整合到了語言中,爲了使用該語言的許多功能,你需要包含它。所以我想這個決定性因素是你是否必須包含.NET才能使該功能存在。在Linq的情況下,你必須包含.NET,所以我認爲它只是一個.NET特性而不是語言特性。
我相信在你的例子中,答案就是兩者。
啓用Linq
的擴展方法是平臺.Net的一項功能。但是,被轉換爲對這些擴展方法的調用的語言結構是C#語言的一個特性。您可以使用VB中的相同擴展方法,但不能使用相同的語言結構。
以同樣的方式,您可以使用兩種語言的Linq to XML,但只有VB具有XML文字。
同意。 * dynamic *關鍵字也是一個例子。或更大:IL是一個平臺功能。 – 2010-11-03 12:04:20
- 1. AudioToolbox框架功能
- 2. 編程語言功能
- 3. 動態LINQ語言功能
- 4. Javascript作爲功能語言
- 5. 功能的「自然語言」
- 6. Lisp語言的功能
- 7. CodeIgniter動態語言功能
- 8. Mailchimp多語言功能
- 9. 功能彙編語言
- 10. .NET框架:新功能
- 11. 音頻框架功能
- 12. ZK框架離線功能
- 13. 你稱之爲功能語言功能是什麼?
- 14. F#功能VS C# 「功能」 蒸發散
- 15. 宣言和功能
- 16. 序言notBetween功能
- 17. 序言詞功能
- 18. Android 7的Java 7語言功能
- 19. 從功能語言訪問numpy數組
- 20. 純功能語言中的高效堆
- 21. 功能多語言的Joomla 1.5
- 22. Silex語言切換功能測試
- 23. 用戶界面功能建模語言?
- 24. 功能語言+算法交易
- 25. 此功能使用什麼語言?
- 26. 功能語言動態編程
- 27. 黃瓜 - 多語言站點的功能
- 28. 功能語言的建築思維
- 29. 優化多語言支持功能
- 30. 語言必須具備哪些功能?
你確定嗎?隱式類型和擴展方法是語言結構,它們在編譯時轉換爲普通類型和常規靜態方法調用。但Linq中使用的具體擴展方法確實是平臺功能。 – Gorpik 2010-11-03 10:53:56
@Gorpik,你說得對。答案已更新。 – 2010-11-03 10:58:36
擴展方法也需要在C#中實現。 – Dykam 2010-11-03 11:13:20