zoukankan      html  css  js  c++  java
  • LinQ Coding (4)[Concat应用]

    Concat有两种应用:
    1.Enumerable.Concat<(Of <(TSource>)>) 泛型方法应用
    此方法是延迟执行的。此方法只返回输入序列中的所有原始元素
    应用场景:只有通过直接调用对象的 GetEnumerator 方法来枚举该对象时,才执行此方法表示的查询。
    IEnumerable<String> queryWithEnumerable = students.Select(student => student.City).Concat(teachers.Select(teacher => teacher.City));

                Console.WriteLine(
    "Enumerable.Concat<(Of <(TSource>)>) 泛型方法应用");

                
    foreach (string city in queryWithEnumerable)
                    Console.WriteLine(city);

    2.QueryableConcat<(Of <(TSource>)>) 泛型方法应用
    此方法生成 MethodCallExpression,其实方法本身即作为了构造的泛型方法。
    然后,将 MethodCallExpression 传递给 IQueryProvider 的 CreateQuery方法,由 source1 参数的 Provider 属性表示。其实说白了,就是将 source2 中的元素连接到 source1 中的元素以组合成一个新的序列。
     IEnumerable<String> queryWithQueryable = students.AsQueryable().Select(student => student.City).Concat(teachers.Select(teacher => teacher.City));

                Console.WriteLine(
    "QueryableConcat<(Of <(TSource>)>) 泛型方法应用");

                
    foreach (string city in queryWithEnumerable)
                    Console.WriteLine(city);


    以下是一个完整的DEMO

    public class ChangeDataUsingLinq : Interface
        
    {
            
    Interface Members

            
    class Student
            
    {
                
    public string First getset; }
                
    public string Last getset; }
                
    public int ID getset; }
                
    public string Street getset; }
                
    public string City getset; }
                
    public List<int> Scores;
            }


            
    class Teacher
            
    {
                
    public string First getset; }
                
    public string Last getset; }
                
    public int ID getset; }
                
    public string City getset; }
            }

        }
  • 相关阅读:
    弹出窗口失败 Debug Assertion Failed!
    颜色设置 OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 的用法
    启动项
    进程PK线程
    获取代码运行时间,获取当前系统时间,日期
    在WindowsPhone8中生成基于MVVM Light的LongListSelector拼音检索绑定
    微软认证考试Mcts70511 part1翻译_Part2_使用控件_ContentControl
    微软认证考试Mcts70511 part1翻译_Part1_考分分配
    ORA14452: attempt to create, alter or drop an index on temporary table already in use
    HPUX日常工作整理
  • 原文地址:https://www.cnblogs.com/qfb620/p/1116109.html
Copyright © 2011-2022 走看看