linq 中的tolist<>()

这是一个延迟执行(Deferred excution)的问题。当调用where时,实际得到的不是集合,而是运算表达式,直到ToList时,他才成为对应的集合。在你的循环中,运算式中的变量值发生了变化(category),等同于如下代码,所以 levellist1 levellist2在执行时运算了相同的结果。

posted @ 2012-08-07 14:56  yzj1212  阅读(1265)  评论(0编辑  收藏  举报