黄骅住房和城乡建设局网站,网站排版教程,保安公司,怎么开电商店铺如何在一个返回一个实体求某些列的最大值#xff0c;最小值#xff0c;平均值#xff0c;求和呢#xff1f; 过去一直都是用的循环对比#xff0c;没有进行归纳#xff0c;或者就是最笨的办法 var demos new ListDemo();foreach (var item in demos){var values…如何在一个返回一个实体求某些列的最大值最小值平均值求和呢 过去一直都是用的循环对比没有进行归纳或者就是最笨的办法 var demos new ListDemo();foreach (var item in demos){var values new Listdecimal();values.Add(item.v00);values.Add(item.v15);values.Add(item.v30);values.Add(item.v45);var demo new Demo();demo.YC_ID item.YC_ID;demo.DATA_MAX values.Max();demo.DATA_MIN values.Min();demo.DATA_AVG values.Average();demo.DATA_TOTAL values.Sum();demos.Add(demo);}
那怎么写会更简单便捷呢而不是每次使用这个实体我们都要进行循环比较呢
好吧直接贴图吧~~~
看不懂的记得补课。 private class Demo{public string Id {get;set;}public decimal V00 { get; set; }public decimal V15 { get; set; }public decimal V30 { get; set; }public decimal V45 { get; set; }private Listdecimal decimals { get; set; }public Demo SetValue(){decimals new Listdecimal() { V00, V15, V30, V45 };return this;}public decimal Max(){return decimals.Max();}public decimal Min(){return decimals.Min();}public decimal Avg(){return decimals.Average();}public decimal Total(){return decimals.Sum();}} var allDemos new ListDemo();var demos GetDemos.GroupBy(r new { r.Id}).Select(r new Demo{YC_ID r.Key.Id,V00 r.Sum(y y.V00),V15 r.Sum(y y.V15),V30 r.Sum(y y.V30),V45 r.Sum(y y.V45),}.SetValue()).ToList();foreach (var item in demos){var demo new Demo();demo.Id item.Id;demo.MAX item.Max();demo.MIN item.Min();demo.AVG item.Avg();demo.TOTAL item.Total();allDemos.Add(demo);}