zoukankan      html  css  js  c++  java
  • 光脚丫学LINQ(004):分组数据

    视频演示:http://u.115.com/file/f27504ff61

    使用 group 子句,您可以按指定的键分组结果。例如,您可以指定结果应按 City 分组,以便位于伦敦或巴黎的所有客户位于各自组中。在本例中,Customer.City是键。

    NorthwindDataContext db = new NorthwindDataContext();   
    var AllCustomers = from Customer in db.Customers   
                       group Customer by Customer.City;   
    foreach (var CustomerGroup in AllCustomers)   
    {   
        Console.WriteLine("---------------------");   
        Console.WriteLine("City : {0}", CustomerGroup.Key);   
        foreach (var Customer in CustomerGroup)   
        {   
            Console.WriteLine("Customer Name : {0}", Customer.ContactName);   
        }   
    }  
    NorthwindDataContext db = new NorthwindDataContext();
    var AllCustomers = from Customer in db.Customers
                       group Customer by Customer.City;
    foreach (var CustomerGroup in AllCustomers)
    {
        Console.WriteLine("---------------------");
        Console.WriteLine("City : {0}", CustomerGroup.Key);
        foreach (var Customer in CustomerGroup)
        {
            Console.WriteLine("Customer Name : {0}", Customer.ContactName);
        }
    } 
    


    在使用 group 子句结束查询时,结果采用列表的列表形式。列表中的每个元素是一个具有 Key 成员及根据该键分组的元素列表的对象。在循环访问生成组序列的查询时,您必须使用嵌套的 foreach 循环。外部循环用于循环访问每个组,内部循环用于循环访问每个组的成员。
    如果您必须引用组操作的结果,可以使用 into 关键字来创建可进一步查询的标识符。下面的查询只返回那些包含两个以上的客户的组:

    NorthwindDataContext db = new NorthwindDataContext();   
    var AllCustomers = from Customer in db.Customers   
                       group Customer by Customer.City into CustomerGroup   
                       where CustomerGroup.Count() > 2   
                       orderby CustomerGroup.Key   
                       select CustomerGroup;  
    
    
  • 相关阅读:
    数组中的逆序对
    第一个只出现一次的字符
    丑数
    把数组排成最小的数
    整数中出现1的个数
    连续子数组最大和
    JS之window对象
    JS之递归(例题:猴子吃桃)
    JS中函数的基础知识
    JS数组2(冒泡排列、数组里面查找数据)
  • 原文地址:https://www.cnblogs.com/GJYSK/p/1863796.html
Copyright © 2011-2022 走看看