语言功能与框架功能

时间:2010-11-03 10:27:43

标签: c# linq programming-languages

我想知道在哪里绘制编程语言功能和平台功能之间的界限。

例如,Linq是C#语言功能还是.NET功能。编程语言是否像平台规范一样工作?

6 个答案:

答案 0 :(得分:7)

我相信,就你的例子而言,答案都是。

启用Linq的扩展方法是平台.Net的一项功能。但是,转换为对这些扩展方法的调用的语言结构是C#语言的一个特性。您可以使用VB中的相同扩展方法,但不能使用相同的语言结构。

同样,您可以将Linq用于两种语言的XML,但只有VB具有XML文字。

答案 1 :(得分:4)

这是一个难以画出的线,LINQ就是一个很好的例子:

答案 2 :(得分:3)

LINQ是一种.NET功能,因为它可以从所有CLS兼容语言访问。 yield语句是C#语言功能。

答案 3 :(得分:2)

自版本3.5以来,Linq是.Net Framework的一部分

您可以找到C# specification here

答案 4 :(得分:1)

嗯,有趣的问题。 .NET实际上更像是一个库,但是它完全集成到了语言中,为了使用该语言的许多功能,您需要包含它。因此,我认为定义的因素是您是否必须包含.NET才能存在该功能。在Linq的情况下,你必须包含.NET,所以我认为它只是一个.NET功能而不是语言功能。

答案 5 :(得分:0)

LINQ是框架的组成部分:

要使用Linq,您必须添加“Linq”命名空间。你可以说,abotu是一个laguage扩展的FileStream。