List <t>何时可以使其Enumerator.Current始终返回null?

时间:2015-09-03 21:43:56

标签: c# ienumerable

我正在生成一个列表(我认为这是无关紧要的 - 如果我错了,请纠正我),然后迭代它。问题是我正在调用GetEnumerator(),在其上调用MoveNext,然后访问Current。无论我做什么,它总是返回null。列表中有很多项目,我认为它已经正确形成。

我受到了阻碍......有什么想法吗?

是的,我知道我还没有发布源代码 - 我尝试了很多变种 - 似乎唯一不变的是,当我调用一个访问数据库来填充的辅助类时,事情就会崩溃我的最终名单。这可能是问题吗?

2 个答案:

答案 0 :(得分:0)

该枚举器是一个可变结构。您可能通过强制转换到界面来封装它,这会导致在副本上调用MoveNext。或者您将其传递给您调用MoveNext的方法;再次,这将改变副本。

答案 1 :(得分:0)

找到答案 - 列表中有空值。删除空值后,一切都很顺利。