zoukankan      html  css  js  c++  java
  • c# linq分组 lambda分组

                    var groupResults = from gr in models
                                       where gr.Noise != 0 && gr.Temperature != 0 && gr.Humidity != 0 && gr.Pm25 != 0
                                       group gr by new { gr.IP, gr.Name, gr.Port } into g
                                       select new
                                       {
                                           g.Key.IP,
                                           g.Key.Name,
                                           g.Key.Port,
                                           NoiseAvg = g.Average(m => m.Noise),
                                           NoiseMax = g.Max(m => m.Noise),
                                           NoiseMin = g.Min(m => m.Noise),
                                           TemperatureAvg = g.Average(m => m.Temperature),
                                           TemperatureMax = g.Max(m => m.Temperature),
                                           TemperatureMin = g.Min(m => m.Temperature),
                                           HumidityAvg = g.Average(m => m.Humidity),
                                           HumidityMax = g.Max(m => m.Humidity),
                                           HumidityMin = g.Min(m => m.Humidity),
                                           Pm25Avg = g.Average(m => m.Pm25),
                                           Pm25Max = g.Max(m => m.Pm25),
                                           Pm25Min = g.Min(m => m.Pm25),
                                           CollectTime = g.FirstOrDefault().CreatedTime
                                       };
    
                    var groupResults2 = models.Where(m => m.Noise != 0 && m.Temperature != 0 && m.Humidity != 0 && m.Pm25 != 0)
                                            .GroupBy(m => new { m.IP, m.Name, m.Port }).Select(g => new
                                            {
                                                g.Key.IP,
                                                g.Key.Name,
                                                g.Key.Port,
                                                NoiseAvg = g.Average(m => m.Noise),
                                                NoiseMax = g.Max(m => m.Noise),
                                                NoiseMin = g.Min(m => m.Noise),
                                                TemperatureAvg = g.Average(m => m.Temperature),
                                                TemperatureMax = g.Max(m => m.Temperature),
                                                TemperatureMin = g.Min(m => m.Temperature),
                                                HumidityAvg = g.Average(m => m.Humidity),
                                                HumidityMax = g.Max(m => m.Humidity),
                                                HumidityMin = g.Min(m => m.Humidity),
                                                Pm25Avg = g.Average(m => m.Pm25),
                                                Pm25Max = g.Max(m => m.Pm25),
                                                Pm25Min = g.Min(m => m.Pm25),
                                                CollectTime = g.FirstOrDefault().CreatedTime,
                                            });

     两者效果一样

  • 相关阅读:
    Excel长数字防止转换为科学计数法
    SVN迁移部署
    且行且珍惜
    功能的权衡——推荐功能做不做?
    渗透小白如何学编程
    Metasploit log命令技巧
    Metasploit 使用msfconsole帮助功能技巧
    Metasploit resource命令技巧
    Metasploit makerc命令技巧
    Metasploit irb命令使用技巧
  • 原文地址:https://www.cnblogs.com/subendong/p/11980838.html
Copyright © 2011-2022 走看看