Che*_*eso 7 .net python java linq
在阅读" LINQ的Java等价物是什么? "后,我想知道,是(小写)语言集成查询 - 换句话说,是使用简洁语法在对象集合或外部存储上执行查询的能力 -成为大多数通用语言的未来之路?或者LINQ是一项有趣的技术,仍将局限于微软的语言?介于两者之间?
编辑:我不知道其他语言,但正如我所知,LINQ既不是史无前例也不是唯一的.LINQ中的想法 - lambdas和查询 - 存在于其他语言中,并且这些想法似乎正在传播.
在LinQ之前,Python有Generator Expressions ,它是用于对集合执行查询的特定语法.Python的语法比Linq的语法更简单,但是让你基本上执行与linq一样简单的查询.几个月前,我写了一篇比较C#和Python中的查询的博客文章,这是一个小例子:
C#Linq:
var orders = from c in customers
where c.Region == "WA"
from o in c.Orders
where o.OrderDate >= cutoffDate
select new {c.CustomerID, o.OrderID};
Run Code Online (Sandbox Code Playgroud)
Python Generator表达式:
orders = ( (c.customer_id, o.order_id)
for c in customers if c.region == 'WA'
for o in c.orders if o.date >= cutoff_date)
Run Code Online (Sandbox Code Playgroud)
编程语言中的查询语法是一个非常有用的工具.我相信每种语言都应该包含类似的东西.