摘要:
用LINQ时被Deferred Execution的特性给坑了,于是写文章来纪录下>_< Deferred Execution简单来说就是写一个不包含强制马上执行命令(如:Count, Max等)的LINQ表达式时,它只会将表达式保存起来。真正执行的时机则是在真正使用时。具体例子见下图: 18行中的result没有保存结果,反而保存query本身。如果不明白“保存query本身”的真正含义,很容易被坑。以下是我被坑的简化版(不妨手算下输出,看是否会被坑):坑一 1 using System; 2 using System.Collections.Generic; 3 using S 阅读全文