15年行业经验 一站式解决方案 大型活动策划公司
免费咨询热线: 4007181001

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运行结果:可以看出,第二次执行与第一次执行的结果相关,这不是我们想要的结果,我们希望两次执行的结果相同。

目标

相关推荐