Groovy和LINQ之间有什么相似之处和不同之处?

时间:2010-06-09 15:37:17

标签: linq groovy

今天twitting with a colleague,他告诉我Groovy就像C#但没有LINQ。

我对LINQ知之甚少,但我回答了他Groovy has similarities to LINQ,例如,Groovy的类DataSet。

你能告诉我更多关于Groovy和LINQ(C#)之间的相似之处/不同之处吗?

2 个答案:

答案 0 :(得分:3)

我想知道是谁告诉你的; P

首先,让我澄清一下我的陈述:我喜欢c#4.0的很多东西都是在groovy上实现的,但groovy已经非常简洁了。

还有其他明显的差异,比如groovy语言的动态/脚本性质等等。

现在,linq是一个跨越闭包的步骤,就像c#中的dsl一样,在像sintax这样的查询(sql)中创建闭包,基于接口的模式和后面的提供者模型允许将这些闭包转换为sql或者任何其他代表。

在这方面,由于groovy具有闭包和精美的实现,并且它内置了许多dsl构建功能,因此应该可以制作类似linq的功能。

答案 1 :(得分:1)

C#和Groovy之间唯一的相似之处是它们的语法。换句话说,Groovy代码看起来与C#非常相似。但是,这些语言的真实性质却截然不同。 Groovy更像Ruby,因为它是动态类型并支持元编程。另一方面,C#主要是静态类型。

至于LINQ和Groovy之间的相似之处,实际上并没有。 Groovy是一种通用语言,而LINQ是用于编写查询的DSL。另一个区别是C#和LINQ在.Net上运行而Groovy在JVM上运行。