我正在阅读XQuery(来自这个链接:[1]
)。而LINQ(更准确地说是查询表达式)似乎几乎是它的翻版。所以我想知道微软是否只是复制了XQuery,并在上面添加了一些语法糖。我想说灵感,但这似乎不够有力的描述。
一个例子:
// LINQ - Query Expression
var winners = from r in racers
where r.Wins > 3
orderby r.Wins descending
select r;
// XQuery
for $racer in doc("racers.xml")/Racers/Racer
where $racer/Wins > 3
order by $racer/Wins descending
return $racer
不,LINQ不是从XQuery复制的。
正如Eric Lippert在这篇文章中指出的:
LINQ查询推导的设计很大程度上受到Haskell设计的影响。当我们设计LINQ时,Haskell专家Erik Meijer是c#语言设计委员会的成员;他的见解很有价值。