假设我有这样的:怀疑
IEnumerable<MyObject> StructsTemp;
我写了一篇关于StructsTemp N次查询,所以它从DB填充,等等。 后来,我执行他们呼吁.ToList()
:
IList<MyObject> StructsFinal = StructsTemp.ToList();
... some queries on StructsFinal ....
StructsTemp = StructsFinal;
那么如果后来我做到这一点?
StructsTemp.Count()
它会重新执行StructsTemp上的n个查询吗?这会重新执行StructsTemp.ToList()吗?这会重新执行StructsFinal上的所有查询吗?
so evenNumbers = evenNumbers.ToList();将“变成”一个IEnumerable到列表? :O我不这么认为... – markzzz 2012-07-20 12:11:21
@markzzz:'IList'实现'IEnumerable '因此每个列表也是隐式的可枚举。这只是继承。但是,引用从具有基础集合的linq查询更改为不同的'List '。 –
2012-07-20 12:17:50
这是不明确的:)假设,在int count = evenNumbers.Count();'I“之前循环”evenNumbers与foreach:那是什么?不是列表:O –
markzzz
2012-07-20 12:22:00