遍历LINQ结果

时间:2018-11-02 13:42:58

标签: vb.net linq

我有这段代码可以在一个项目中正常工作,但是在另一个项目中却遇到此错误,无法弄清原因。我所做的就是将代码从一个项目复制到另一个项目:

Dim query = From row In dtTDAF_Payments
    Group row By GL_Account = row.Field(Of String)("GL_Account") Into GLGroup = Group
    Select New With {
        Key GL_Account,
        .Amount = GLGroup.Sum(Function(r) r.Field(Of Decimal)("Amount"))}

For Each x In query

因此未定义错误'x'...但是正如我所提到的,它可以在其他项目中正常工作。我想念什么?

1 个答案:

答案 0 :(得分:4)

这与LINQ无关。遍历一个简单数组或其他任何列表也会发生这种情况。

在有效的项目中,打开Option Infer或关闭Option Explicit。在不起作用的项目中,Option Infer已关闭,Option Explicit已打开。

或者,x变量可能在代码中其他不明显的地方声明了。如果是这种情况,那么在Visual Studio中,您可以通过右键单击x并选择转到其定义来找到它。如果是在项目的其他位置定义的,则将您带到该位置。如果不是,那么它将跳到For Each x行。