http://shop.oreilly.com/product/9780596528416.do
具体的章节链接https://books.google.com/books?id=Q9SnY-8_iasC&pg=PA16&lpg=PA16&dq=Now+use+dump+in+a+simple+query+that+will+end+up+selecting+all+the+doctors+because+the+function+always+returns+true&source=bl&ots=IpUtNYn0d1&sig=W0-uCKgaXBh-5rX0QJz0BXLg5l8&hl=zh-CN&sa=X&ei=s3abVYGBL4bkUri_g5AL&ved=0CCAQ6AEwAA#v=onepage&q=Now%20use%20dump%20in%20a%20simple%20query%20that%20will%20end%20up%20selecting%20all%20the%20doctors%20because%20the%20function%20always%20returns%20true&f=false
准确的链接https://books.google.com/books?id=Q9SnY-8_iasC&printsec=frontcover&hl=zh-CN#v=onepage&q&f=false
可以使用google books downloader进行下载
http://www.cnblogs.com/czx1/p/4947855.html
在LINQ中,一个重要的特性就是延迟加载,是指查询操作并不是在查询运算符定义的时候执行,而是在真正使用集合中的数据时才执行(如:在遍历集合时调用MoveNext方法时)。
下面是一个简单的实例:
var num = new List<int>(); num.Add(1); IEnumerable<int> query = num.Select(n => n * 10); num.Add(2); foreach (int n in query) Console.WriteLine(n);
结果输出10 20.
在上面的例子中,在创建查询语句后又向集合中加入新元素,这个新元素最终也出现在查询结果中。这就是因为查询语句是在遇到foreach之后才真正执行的
再例如:
Action a = () => Console.WriteLine("Foo"); //没有在控制台输出任何内容 a(); //延迟执行,输出Foo