Linq解决方案
Linq
在Linq中,查询变量本身只是存储查询命令,创建查询仅仅是声明查询变量,此时并不执行任何操作,也不返回任何数据。Linq在随后执行查询时,才执行查询变量中声明的查询操作,并返回结果数据。但是这里还没执行查询的时候却有了结果,怎么回事?


------解决方案--------------------
你的当前调试语句肯定在你贴出的这个图之后,你贴这个图实际上是误导人。
当你调试断点在声明 numQuery1 的语句之后,而你又在“监视”窗口查看 numQuery1 变量的值,它当然就执行查询并返回了结果数据。
int[] arrayInt = { 6, 3, 8, 2, 5, 2 };
var numQuery1 =
from arr in arrayInt
orderby arr
where (arr % 2) == 0
select arr;
foreach (var item in numQuery1)
{
Console.Write("{0,1}", item);
}
在Linq中,查询变量本身只是存储查询命令,创建查询仅仅是声明查询变量,此时并不执行任何操作,也不返回任何数据。Linq在随后执行查询时,才执行查询变量中声明的查询操作,并返回结果数据。但是这里还没执行查询的时候却有了结果,怎么回事?
------解决方案--------------------
你的当前调试语句肯定在你贴出的这个图之后,你贴这个图实际上是误导人。
当你调试断点在声明 numQuery1 的语句之后,而你又在“监视”窗口查看 numQuery1 变量的值,它当然就执行查询并返回了结果数据。