zoukankan      html  css  js  c++  java
  • linq的延迟执行和立即执行


    延迟执行 

            static void QueryOverInts()
            {
                int[] numbers = new int[] {10,20,30,40,1,2,3,8};
    
                //获取偶数
                var subset = from q in numbers
                             where q % 2 == 0
                             select q;
    
                //linq语句在这个地方执行,前面的from语句没有真正的运算,这叫做的linq的延迟执行,
                //利用这个,我们可以为相同的容器执行多次应用相同的ling查询。
                foreach (var i in subset)
                {
                    Console.WriteLine(i);
                }
                //修改数组中的一些数据
                numbers[0] = 4;
    
                foreach (var j in subset)
                    Console.WriteLine(j);
                Console.ReadKey();
    
    
    
            }

    如果希望立即执行,可以调用有Enumberable类型定义的许多扩展方法来完成,如Toarry<T>(),Tkey(),ToList<T>()等方法。

     //获取偶数
                var subset = (from q in numbers
                              where q % 2 == 0
                              select q).ToList();
    

      

  • 相关阅读:
    hdu 2196(树上点分治)
    hdu 4807(网络流 + 贪心)
    hdu4101
    hdu4216
    hdu 4219, 树形概率DP
    hdu 4127 A*搜索
    hdu 4126
    hdu 5296,15年多校1-7
    poj3436 ACM Computer Factory
    Fence
  • 原文地址:https://www.cnblogs.com/xinyebs/p/3116574.html
Copyright © 2011-2022 走看看