我想知道在哪里绘制编程语言功能和平台功能之间的界限。
例如,Linq是C#语言功能还是.NET功能。编程语言是否像平台规范一样工作?
答案 0 :(得分:7)
我相信,就你的例子而言,答案都是。
启用Linq
的扩展方法是平台.Net的一项功能。但是,转换为对这些扩展方法的调用的语言结构是C#语言的一个特性。您可以使用VB中的相同扩展方法,但不能使用相同的语言结构。
同样,您可以将Linq用于两种语言的XML,但只有VB具有XML文字。
答案 1 :(得分:4)
这是一个难以画出的线,LINQ就是一个很好的例子:
Query expressions,implicitly typed variables和extensions methods是C#和VB.NET中的语言功能,
为LINQ提供必要背景的特定扩展方法是.NET 3.5及更高版本中的平台功能。
答案 2 :(得分:3)
LINQ是一种.NET功能,因为它可以从所有CLS兼容语言访问。 yield语句是C#语言功能。
答案 3 :(得分:2)
自版本3.5以来,Linq是.Net Framework的一部分
您可以找到C# specification here。
答案 4 :(得分:1)
答案 5 :(得分:0)
LINQ是框架的组成部分:
要使用Linq,您必须添加“Linq”命名空间。你可以说,abotu是一个laguage扩展的FileStream。