VS Debugger将foreach循环中的当前值显示为null,否则为null

时间:2018-05-17 10:18:56

标签: c# entity-framework debugging entity-framework-core

在某些情况下,当我尝试调试foreach循环时,我无法在调试器中看到当前值。如果我尝试在watch中评估它,它将抛出一个null引用异常,而代码将执行没有问题。我并非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 */
}

如果我在循环中间设置断点,则foo将为null。在同一断点处,我可以毫无问题地查看bar的内容,并且没有值为null。我甚至可以在作业之后立即查看boop的内容,但不是foo。

0 个答案:

没有答案