zoukankan      html  css  js  c++  java
  • C# Linq及Lamda表达式实战应用之 GroupBy 分组统计

    在项目中做统计图表的时候,需要对查询出来的列表数据进行分组统计,首先想到的是避免频繁去操作数据库可以使用 Linq

    eg:

    //例如对列表中的Cu元素进行按年GroupBy分组统计
    //包含年份,平均值,最大值,总数
    
    //写法1:lamda 表达式写法(推荐)
     var listCu = list.GroupBy(a => a.Year).Select(g =>(new{ year=g.Key,avg=g.Average(m=>m.Cu),max=g.Max(n=>n.Cu),count=g.Count()}));
    //写法2:类SQL语言写法 最终编译器会把它转化为lamda表达式
     var listCu2 = from item in list
                        group item by item.Year
                        into g
                        select new { year = g.Key, avg = g.Average(m => m.Cu), max = g.Max(n => n.Cu), count = g.Count() };

     类似效果图(统计了各个元素每一年的平均值):

  • 相关阅读:
    605. Can Place Flowers
    1184. Distance Between Bus Stops
    1711. Count Good Meals
    1710. Maximum Units on a Truck
    566. Reshape the Matrix
    980. Unique Paths III
    212. Word Search II
    每日总结
    每日总结
    每日总结
  • 原文地址:https://www.cnblogs.com/qinyi173/p/7124739.html
Copyright © 2011-2022 走看看