【发布时间】:2016-10-12 19:43:01
【问题描述】:
我有一个运行 foreach 的 IEnumerable。在某些情况下,它会在 foreach 行上抛出空引用异常,它说
ienumerable 抛出了 'System.NullReferenceException 类型的异常
if (ienumerable != null)
{
foreach (var item in ienumerable)
{
......
}
}
我在 foreach 循环之前进行了 null 检查,并且 iEnumerable 通过了 null 检查,但是当我在其上运行 foreach 循环时,它会引发 null 引用异常。
【问题讨论】:
-
您没有向我们提供足够的信息。您的
ienumerable是如何填充的? -
请说明如何获得此 IEnumerable。如果您像标签建议的那样使用 linq,则可能是在某处获得空引用但执行不同,您只会在实际执行时看到它
-
IEnumerables 在您迭代它们时进行评估。IEnumerable的物品从哪里来? -
另一个问题:是循环本身(
foreach)还是使用item的循环中的工作?
标签: c# foreach ienumerable nullreferenceexception