标签: c# linq tolist
var v = object.where(a => a.date > DateTime(2000,1,1,)); list = v.ToList();
好的,所以对于下面的代码,我在每一行都设置了断点。当我到达第一行时,我运行代码(F5)直到它到达第二行。当我从第二行前进(F11)时,它返回第一行。当我运行代码(F5)时,它没有进入第二行并抛出错误。
我的linq查询是错误的,还是其他不起作用?我完全陷入困境。
答案 0 :(得分:3)
由于延迟执行,第一行中的lambda表达式只会在第二行中迭代结果时执行。
此行为完全正确。
Here是一个非常好的解释。