LINQ查询表达式与流畅(点)表示法

时间:2011-04-06 19:09:05

标签: .net linq syntax

Dim namePriceQuery = From prod In products
                     Select prod.Name, prod.Price

OR

Dim namePriceQuery = products.select(function(x) New With{ Key .newName =x.name _ 
, Key .newPrice= x.price})

据我所知,唯一的区别在于第二个表达式具有Key关键字的好处。两者究竟有什么区别?我会选择使用哪种场景?一个与另一个的利弊是什么?

我假设C#语法的等效工作方式相同,应该在之前提到的场景中使用。非常感谢你!

2 个答案:

答案 0 :(得分:3)

任何一个都是相同的,但我会选择最具可读性的那个。

答案 1 :(得分:0)

两种说法都是平等的。使用linq语法制定的Linq查询将转换为适当的方法调用。

选择最适合您的可读性和/或使您的代码更易理解。如果你得到非常复杂的查询,那么使用select many和分组linq语法要好好阅读。

我根据情况在两种形式的linq查询之间切换。