LINQ语法-延迟执行
发布时间:2020-05-31 19:22 点击量:
LINQ执行过程的一个重要特征是延迟执行,也就是说,当你知道你想要获得数据时,你就回去计算。考虑上面例子中的代码。您可能认为在执行查询语句后,所有的值都将保存在查询中。事实上,在调用foreach之前不会执行该语句。这个特性对我们的编码有好有坏。
WP8WIN 8.1方法/步骤1的工具/原材料价值流2012的优势:
该代码对1,000,000个数据进行操作,对每个数据暂停1秒钟,然后返回计算值。如果要在执行foreach之前计算这些值,我们需要等待大约11.57天。延迟执行的优势得到了发挥。当执行foreach方法时,执行一个循环来计算一个值,然后将该值打印出来。
-1步读数2个缺点:
LINQ的延迟执行机制有时也有缺点。在下面的例子中,我们在一个循环中打印两次结果,结果可能与我们想象的不同。
我们有两种方法来解决这个问题。一种方法是在第二次执行时重置计数器。另一种方法是迫使LINQ立即执行该声明。我们可以通过LINQ将结果转换成数组对象来实现这一点。我们只需要添加。ToArray在前面的查询表达式之后达到这个目的。
-4步读取-5步读取-4运行结果:可以看出,第二次执行与第一次执行的结果相关,这不是我们想要的结果,我们希望两次执行的结果相同。
目标
相关推荐