• Linq的延迟


    书名:LINQ: The Future of Data Access in C# 3.0
    Learn LINQ and the C# 3.0 Features That Support It

    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
  • 相关阅读:
    动态规划:DAG-嵌套矩形
    动态规划:LCIS
    动态规划&字符串:最长公共子串
    动态规划:LCS
    动态规划:状压DP-斯坦纳树
    动态规划:数位DP
    JavaScript 正则表达式
    JavaScript 类型转换
    JavaScript typeof, null, 和 undefined
    JavaScript if...Else 语句
  • 原文地址:https://www.cnblogs.com/chucklu/p/4627133.html
Copyright © 2020-2023  润新知