首页 > 解决方案 > 循环遍历 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'没有定义......但正如我所提到的,它在另一个项目中工作正常。我错过了什么?

标签: vb.netlinq

解决方案


这与 LINQ 无关。它也会循环遍历一个简单的数组或任何其他列表。

在工作的项目中,要么Option Infer打开,要么Option Explicit关闭。在不起作用的项目中,Option Infer关闭并Option Explicit打开。

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


推荐阅读