• LINQ之查询语法—group子句


    group by子句返回的结果集跟我们之前的不大一样,我们之前返回的是IEnumerable的集合,但是,group by返回的是IGrouping<TKey, TElement>的结果集。
    事实上,IGrouping也是继承了IEnumerable
     
    public interface IGrouping<out TKey, out TElement> : IEnumerable<TElement>, 
    	IEnumerable
    同时,正如我们在select子句中说过的,group子句是两外一个可以作为LINQ查询结束的子句。
     
    举个例子,假设我们有如下品牌:
    "Exuviance", "Avene", "Baby Quasar", "Ecoya", "Alterna", "Ecru New York" 
     
    我们想实现如下显示:
    E:
    Exuviance
    Ecru New York
    Ecoya
     
    A:
    Avene
    Alterna
     
    B:
    Baby Quasar
    可以建立以下查询:
     
    string[] allBrands = new string[] { "Exuviance", "Avene", "Baby Quasar", "Ecoya", "Alterna", "Ecru New York" };
    
                var brands = from brand in allBrands
                             
                             group brand by brand[0];
    
                foreach (var brand in brands)
                {
                    Console.WriteLine(brand.Key+":");
                    foreach (var item in brand)
                    {
                        Console.WriteLine(item);
                    }
                    Console.WriteLine();
                }
     

    在讲看完orderby子句后,我们会让显示按照key来升序排序,以更符合要求。

    同时在介绍完into子句后,我们还会介绍如何对每个组执行附加操作。

    参考:webcast 《跟我一起学Visual Studio 2008系列课程》

  • 相关阅读:
    比特币的加密算法
    区块链项目-Lisk
    以太坊(二)
    以太坊的货币发行模式
    以太坊(一)
    前端er们如何最快开发h5移动端页面?
    jQuery Ajax常用总结
    js中变量作用域
    网页引入特殊字体的几种方案
    几个有趣的WEB设备API(二)
  • 原文地址:https://www.cnblogs.com/tian2010/p/2395253.html
Copyright © 2020-2023  润新知