VS 调试器将 foreach 循环中的当前值显示为空(当它不是时)

Kri*_*nis 5 c# debugging entity-framework entity-framework-core

在某些情况下,当我尝试调试 foreach 循环时,我无法在调试器中看到当前值。如果我尝试在监视中对其求值,它将引发空引用异常,而代码将毫无问题地执行。我不能 100% 确定,但当我迭代使用 EF Core 检索的列表时,似乎会发生这种情况。

var bar = await context.Bars.Include(b => b.Barlets).ToListAsync();
foreach (var foo in bar)
{
  var boop = foo;
  /*do stuff with foo */
}
Run Code Online (Sandbox Code Playgroud)

如果我在循环中间设置断点,foo 将为 null。在同一断点处,我可以毫无问题地查看 bar 的内容,并且没有一个值为空。我还可以很好地查看 boop 的内容,但不能查看 foo 的内容,即使是在赋值之后也是如此。