飞鱼1900 2016-02-29 11:24 采纳率: 71.4%
浏览 3440
已采纳

c# 数据统计 请问如何实现

遇到一个棘手问题,请老师们帮解答一下:
    原始的表
    ![图片说明](https://img-ask.csdn.net/upload/201602/29/1456744918_718502.jpg)

    统计表
    ![图片说明](https://img-ask.csdn.net/upload/201602/29/1456744972_848207.jp

    请问用c#如何实现
  • 写回答

7条回答 默认 最新

  • threenewbee 2016-02-29 12:44
    关注
     using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Q239660
    {
        class Program
        {
            static void Main(string[] args)
            {
                string data = @"aaa bb 10 cc 11 dd 12
    aaa cc 9 dd 4 bb 2
    aaa cc 16 bb 9 dd 8
    bbb a1 6 a2 9 a3 8
    bbb a2 7 a3 4 a1 6";
                string result = string.Join("\r\n", data.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries)
                    .Select(x => x.Split(' ')).SelectMany(x => Enumerable.Range(0, 3).Select(y => new { a = x[0], b = x[y * 2 + 1], c = int.Parse(x[y * 2 + 2]) }))
                    .GroupBy(x => x.a)
                    .Select(x => new { a = x.Key, b = x.GroupBy(y => y.b).Select(y => new { b = y.Key, c = y.Sum(z => z.c) }) })
                    .Select(x => x.a + " " + string.Join(" ", x.b.Select(y => y.b + " " + y.c.ToString()))));
                Console.WriteLine(result);
            }
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥100 需要跳转番茄畅听app的adb命令
  • ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥50 opencv4nodejs 如何安装
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证