我有这个简单的LINQ查询:
Dim sourceSect = (From sect In allSections
Where sect.ORDER = sourceNode.Index
Select sect).Single()
sourceSect.ORDER = targetNode.Index
但是,如果我在线编写它:
(From sect in allSections Where sect.ORDER = sourceNode.index Select sect).Single().ORDER = targetNode.Index
我从Visual Studio中收到语法错误。
有什么合理的理由吗? :)
最佳答案
你不能只是写
(From sect in allSections Where sect.ORDER = sourceNode.index Select sect).Single().ORDER = targetNode.Index
在VB.Net中。使用查询语法时,必须先将结果分配给变量,然后才能设置属性
Dim sect = (From sect in allSections Where sect.ORDER = sourceNode.index Select sect).Single()
sect.ORDER = targetNode.Index
因此,您必须坐在代码中,或者使用方法语法(如Tim Schmelter指出的那样):
allSections.Single(Function(sect) sect.ORDER = sourceNode.Index).Order = targetNode.Index
关于vb.net - 在VB.net中分配左侧使用LINQ查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12092702/