首页 新闻 搜索 专区 学院

for 循环可以分类统计成这样吗

0
悬赏园豆:10 [待解决问题]

for 循环可以分类统计成这样吗

效果是从A变成B

如果是数据库很简单直接group by

多啦C梦的主页 多啦C梦 | 初学一级 | 园豆:86
提问于:2020-02-17 17:44
< >
分享
所有回答(6)
0

程序中定义一个model 包含名称和份量 这样是比较容易操作的

初夏的阳光丶 | 园豆:573 (小虾三级) | 2020-02-17 18:00

不是从数据库读取,这个很容易

在数组里,通过算法,转成这样的格式

支持(0) 反对(0) 多啦C梦 | 园豆:86 (初学一级) | 2020-02-17 18:02

@多啦C梦: 对呀 就是在数组中呀 你将数据转换一下 成一个List

支持(0) 反对(0) 初夏的阳光丶 | 园豆:573 (小虾三级) | 2020-02-17 18:03

@初夏的阳光丶能写出来么: 能写出来么:

支持(0) 反对(0) 多啦C梦 | 园豆:86 (初学一级) | 2020-02-17 18:04

@多啦C梦: https://blog.csdn.net/e295166319/article/details/77943489 类似这篇文章 可以参考一下

支持(0) 反对(0) 初夏的阳光丶 | 园豆:573 (小虾三级) | 2020-02-17 18:08
0

 参见Linq GroupBy函数就行了,根本不用写,现成的。

花飘水流兮 | 园豆:11779 (专家六级) | 2020-02-17 19:42
0
using System;
using System.Collections.Generic;
using System.Linq;

namespace blogs
{
    class Program
    {
        static void Main(string[] args)
        {
            var orderItems = new List<OrderItem>() {
                new OrderItem(){
                    GoodsName="鸭(包杀)",
                    Quantity=1
                },
                new OrderItem(){
                    GoodsName="鸭(不包杀)",
                     Quantity=1
               },
                new OrderItem(){
                    GoodsName="苹果",
                    Quantity=1

                },
                new OrderItem(){
                    GoodsName="鸭(包杀)",
                    Quantity=1
                }
            };

            var result = orderItems.GroupBy(m => m.GoodsName).Select(m => new
            {
                GoodsName = m.Key,
                Quantity = m.Count()
            }).OrderByDescending(m => m.Quantity);

            foreach (var item in result)
            {
                Console.WriteLine($"商品名: {item.GoodsName} 份数: {item.Quantity}");
            }
        }
    }
    class OrderItem
    {
        // 商品名,
        public string GoodsName { get; set; }


        //份数

        public int Quantity { get; set; }
    }


}
小小高 | 园豆:706 (小虾三级) | 2020-02-18 09:23
0

for 和 map<String,Integer> 就行了

风中的雪糕 | 园豆:418 (菜鸟二级) | 2020-02-18 19:43
0

使用for循环所用的数据 ,判断map中是否存在正在循环的数据,存在就integer+1 不存在就把数据插入map键,值默认为1,如果需要输出,那就使用遍历map

暮色将临 | 园豆:234 (菜鸟二级) | 2020-02-21 17:24
0

for循环里增加判断就能实现

风行天下12 | 园豆:3485 (老鸟四级) | 2020-02-23 13:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册