博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小知识点 LINQ中延时求值和主动求值的区别
阅读量:5008 次
发布时间:2019-06-12

本文共 777 字,大约阅读时间需要 2 分钟。

先看个简单的例子:

1   List
list = new List
() { 1, 2, 3, 4, 5, 6, 7 }; 2 var temp1 = from c in list where c > 3 select c; 3 var temp2 = (from c in list where c > 3 select c).ToList
(); 4 list.Add(9); 5 Console.WriteLine("temp1:"); 6 foreach (var item in temp1) 7 { 8 Console.Write(item.ToString() + " "); 9 }10 Console.WriteLine("\ntemp2:");11 foreach (var item in temp2)12 {13 Console.Write(item.ToString() + " ");14 }

输出结果:

在延时求值的情况下,定义查询并没有立即查询,而是在访问查询结果的时候才会遍历原集合。对查询调用了ToList,ToArray等方法后,将会立即执行。从例子中可以看出。

转载于:https://www.cnblogs.com/PointBreak/p/5889120.html

你可能感兴趣的文章
将笔记本变身WiFi热点
查看>>
SSU 479.Funny Feature
查看>>
pycharm修改代码模板支持中文输出
查看>>
poj 1904 强连通分量 tarjan
查看>>
史上最全的测试团队组建方法
查看>>
webview与壳交互的几种方式
查看>>
python3对于时间的处理
查看>>
PE破解win2008登录密码
查看>>
JVM垃圾回收机制
查看>>
结对编程2 微软学术搜索 第一部分——功能性bug
查看>>
StarUML
查看>>
程序员需要有多懒 ?- cocos2d-x 数学函数、常用宏粗整理 - by Glede
查看>>
利用Clojure统计代码文件数量和代码行数
查看>>
课时23:递归:这帮小兔崽子
查看>>
RobotFrameWork接口报文测试-----(三)demo的加强版(数据驱动测试)
查看>>
NetBeansRCP-添加/修改NetBeans的JVM启动参数
查看>>
Linux c获取时间
查看>>
css中设置background属性
查看>>
第九周作业
查看>>
[leedcode 70] Climbing Stairs
查看>>