此VB Linq查询的以下两个版本的结果之间有什么区别(如果有)?

'假设我们有一个XElement包含在其他地方定义的员工详细信息

Dim ee = From e In someXML.<Employee> _
Select New With {.Surname = e.<Surname>, .Forename = e.<Forename>}




Dim ee = From e In someXML.<Employee> _
Select Surname = .Surname = e.<Surname>, .Forename = e.<Forename>


即New ... With语法的意义是什么?

我怀疑这是一个简单的答案,但我找不到它-指向合适的教程或Microsoft文档的任何链接都将不胜感激。

最佳答案

不同之处在于1st显式创建了一个匿名类型。第二个是查询表达式,可以使用现有类型而不是创建匿名类型。从Cameron MacFarland链接的文档中:


查询表达式并不总是需要创建匿名类型。如果可能,它们使用现有类型来保存列数据。当查询从数据源返回完整记录或从每个记录仅返回一个字段时,就会发生这种情况。

关于vb.net - VB Linq中的“New…With”语法有什么作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/528610/

10-15 06:19