我有这段代码可以在一个项目中正常工作,但是在另一个项目中却遇到此错误,无法弄清原因。我所做的就是将代码从一个项目复制到另一个项目:
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'...但是正如我所提到的,它可以在其他项目中正常工作。我想念什么?
答案 0 :(得分:4)
这与LINQ无关。遍历一个简单数组或其他任何列表也会发生这种情况。
在有效的项目中,打开Option Infer
或关闭Option Explicit
。在不起作用的项目中,Option Infer
已关闭,Option Explicit
已打开。
或者,x
变量可能在代码中其他不明显的地方声明了。如果是这种情况,那么在Visual Studio中,您可以通过右键单击x
并选择转到其定义来找到它。如果是在项目的其他位置定义的,则将您带到该位置。如果不是,那么它将跳到For Each x
行。