【发布时间】:2013-03-01 10:08:43
【问题描述】:
我使用下面的代码从IEnumerable 中获取了一些项目,但它总是将源返回为空并计数为0,实际上IEnumerable 中存在项目
private void GetItemsPrice(IEnumerable<Item> items, int customerNumber)
{
var a = items.Skip(2).Take(5);
}
当我尝试访问a 时,它的计数为0。这里有什么问题吗?
【问题讨论】:
-
最初集合中有多少项?
-
不,我还有更多,但就我的问题而言,仅此而已
-
“将源返回为空”是什么意思?而如果
a.Count()返回0,那么基本上items中最多有2个元素。如果您认为有 102 项,我怀疑您的诊断不正确。 -
您似乎还没有枚举您的收藏。 IEnumrables 是延迟加载的,在你告诉它们之前不会做你想做的事情。
-
@SSS:从截图中看不出
items.Count()大于2。