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

这篇具有很好参考价值的文章主要介绍了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.Id = item.Id;
                demo.DataMAX = values.Max();
                demo.DataMIN = values.Min();
                demo.DataAVG = values.Average();
                demo.DataTOTAL = values.Sum();
                demos.Add(demo);
            }

那怎么写会更简单便捷呢?而不是每次使用这个实体,我们都要进行循环比较呢?

好吧,直接贴图吧~~~

看不懂的记得补课。文章来源地址https://www.toymoban.com/news/detail-656453.html

        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);
            }

到了这里,关于c#后端获实体类多列最大值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 239. 滑动窗口最大值

    力扣题目链接   (opens new window) 给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。 进阶: 你能在线性时间复杂度内解决此题吗? 提示:

    2024年02月15日
    浏览(46)
  • js求数组最大值

    除了使用 Math.max() 方法之外,JavaScript 中还有多种方法可以求数组的最大值,下面介绍其中的几种。 使用循环遍历数组并比较 可以使用 for 循环遍历数组,并使用一个变量来保存数组中的最大值。每当遇到一个比当前最大值大的元素时,更新变量的值。例如: 使用 apply() 方法

    2024年02月16日
    浏览(42)
  • 单调队列-滑动窗口最大值

    Problem: 239. 滑动窗口最大值 输入一个数组nums,滑动窗口k遍历该数组,输出得到的最大值数组; 示例1: 输入:nums = [1,3,-1,-3,5,3,6,7], k = 3 输出:[3,3,5,5,6,7] 构造一个单调队列表示当前窗口中单调递减的队列,队列的头就是最大值,为保证这个队列是窗口数据的表示,每次判断队

    2024年02月22日
    浏览(49)
  • layui 设置选中时间为当天时间最大值23:59:59、laydate设置选中时间为当天时间最大值23:59:59

    既是涨知识的一天,又是干前端的一天! laydate.render({         elem: \\\'#validityPeriod\\\',         //type: \\\'datetime\\\',//类型要一定要相匹配         type: \\\'date\\\', // 设置日期选择模式         trigger: \\\'click\\\',         format: \\\'yyyy-MM-dd HH:mm:ss\\\', // 设置日期的显示格式         min: startDate,    

    2024年02月15日
    浏览(35)
  • 基于遗传算法求函数最大值

    首先说一下作业题目:   设定求解精确到2位小数,种群规模: 50,最大进化代数: 150,交叉概率: Pc=0.25,变异概率: Pm=0.01 。 本次算法编程思想来源于http://t.csdn.cn/7wsRq。主要是理解遗传算法的设计过程。遗传算法的进化过程类似一个物种的进化过程,寻找函数最大值的过程就

    2024年02月08日
    浏览(47)
  • 华为OD-滑动窗口最大值

    给你一个整数数组  nums ,有一个大小为  k   的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的  k  个数字。滑动窗口每次只向右移动一位。 返回  滑动窗口中的最大值  。 示例二 代码实现

    2024年02月11日
    浏览(43)
  • 生成窗口最大值数组【中等难度】

    给定一个整数数组 nums 和一个正整数 k,滑动一个大小为 k 的窗口,从数组的左边到右边,找到每个窗口中的最大值。 示例 1: 输入:nums = {1, 3, -1, -3, 5, 3, 6, 7} 、k = 3 输出:3 3 5 5 6 7 我们可以使用双端队列(deque)来解决这个问题。双端队列可以在两端进行插入和删除操作,

    2024年02月12日
    浏览(48)
  • MATLAB-最大值与最小值

    在MATLAB中,用于计算最大值的函数是max函数,用于计算最小值的函数是min函数,其调用格式如下。 B=max(A) %计算最大值 ,若A为向量,则计算并返回向量中的最大值;若A为矩阵,则计算并返回 %一个含有各列最大值的行向量 B=min(A) %计算最小值 若A为向量,则计算并返回向量中的最

    2024年02月07日
    浏览(45)
  • leetcode-239-滑动窗口最大值

    题意描述: 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例: 输入:nums = [1,3,-1,-3,5,3,6,7], k = 3 输出:[3,3,5,5,6,7] 解释: 滑动

    2024年02月07日
    浏览(50)
  • LeetCode239.滑动窗口最大值

    看到这道题我就有印象, 我在剑指offer里面做过这道题,我记得当时用的是优先队列,然后我脑子里一下子就有了想法,拿优先队列作为窗口,每往右移动一步,把左边的数remove掉,把右边的数add进来,然后把队头,也就是窗口中最大的元素放入答案数组,然后就写出了如下

    2024年02月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包