当前位置: 首页 > news >正文

c#后端获实体类多列最大值

如何在一个返回一个实体求某些列的最大值,最小值,平均值,求和呢?

        过去一直都是用的循环对比,没有进行归纳,或者就是最笨的办法

            var demos = new List<Demo>();foreach (var item in demos){var values = new List<decimal>();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 List<decimal> decimals { get; set; }public Demo SetValue(){decimals = new List<decimal>() { 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 List<Demo>();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);}

 

http://www.lryc.cn/news/128631.html

相关文章:

  • 腾讯云国际轻量应用服务器使用流程是什么呢?
  • CentOS 8 非编译方式 yum 安装 FFmpeg
  • 【Linux命令详解 | ssh命令】 ssh命令用于远程登录到其他计算机,实现安全的远程管理
  • IP 地址监控工具
  • 基于OpenCV的人脸识别和模型训练系统(万字详解)
  • Docker容器与虚拟化技术:Docker镜像创建、Dockerfile实例
  • 每天一道leetcode:646. 最长数对链(动态规划中等)
  • 651页23万字智慧教育大数据信息化顶层设计及建设方案WORD
  • Vue3 使用json编辑器
  • centos7 docker离线安装教程
  • 解决爬虫上下行传输效率问题的实用指南
  • Vue2入门学习汇总
  • 收支明细高效管理,轻松查看和统计时间段内的开销收支明细!
  • c++ 成绩统计
  • PostgreSQL-UDF用户自定义函数-扩展插件
  • 接口测试及接口抓包常用测试工具和方法?
  • C语言入门_Day 6布尔数与比较运算
  • Java中的JDBC
  • Vue 安装开发者工具
  • oracle修改临时表出现已使用的事务正在处理临时表问题
  • RestTemplate
  • rabbitMQ服务自动停止(已解决
  • Qt平滑弹出页面
  • 第07天 Static关键字作用及用法
  • Redis扩容与一致性Hash算法解析
  • 【第七讲---视觉里程计1】
  • Linux: sched: might_sleep; 一个调试函数,演变为真实的睡眠函数,实至名归
  • (三) 搞定SOME/IP通信之CommonAPI库
  • windows bat脚本,使用命令行增加/删除防火墙:入站-出站,规则
  • Stable Diffusion 告别复制关键词,高质量提示词自动生成插件