首页 > 代码库 > 计算合计和累计
计算合计和累计
1 /*计算合计和累计*/ 2 3 List<数据> 存储过程 = new List<数据>(); 4 存储过程.Add(new 数据 { 年段 = 1, 分数 = 59, 姓名 = "浪子燕青",学号 = "104" }); 5 存储过程.Add(new 数据 { 年段 = 1, 分数 = 100, 姓名 = "及时雨宋",学号 = "101" }); 6 存储过程.Add(new 数据 { 年段 = 2, 分数 = 89.44, 姓名 = "智多星吴",学号 = "201" }); 7 存储过程.Add(new 数据 { 年段 = 2, 分数 = 70, 姓名 = "小旋风李",学号 = "202" }); 8 存储过程.Add(new 数据 { 年段 = 1, 分数 = 80, 姓名 = "行者武松",学号 = "102" }); 9 存储过程.Add(new 数据 { 年段 = 2, 分数 = 90, 姓名 = "花和尚鲁",学号 = "203" });10 存储过程.Add(new 数据 { 年段 = 3, 分数 = 50, 姓名 = "黒旋风李",学号 = "301" });11 存储过程.Add(new 数据 { 年段 = 3, 分数 = 100, 姓名 = "青面兽杨",学号 = "301" });12 存储过程.Add(new 数据 { 年段 = 3, 分数 = 100, 姓名 = "混江龙李",学号 = "302" });13 存储过程.Add(new 数据 { 年段 = 1, 分数 = 87, 姓名 = "母大虫顾",学号 = "103" });14 15 16 List<数据> 最终结果 = new List<数据>();17 18 List<int> 年段集合 = 存储过程.GroupBy(p => p.年段).Select(p => p.Key).ToList();19 20 foreach (var item in 年段集合)21 {22 List<数据> 临时集合 = new List<数据>();23 24 临时集合.AddRange(存储过程.Where(p => p.年段 == item));25 26 临时集合 = 临时集合.OrderBy(p => p.学号).ToList();27 28 临时集合.Add(new 数据 { 学号 = "合计", 分数 = 临时集合.Sum(p => p.分数), 年段 = 999, 姓名 = "" });29 30 double 这一次的累计结果 = 临时集合.Where(p => p.学号 == "合计").Sum(p => p.分数);31 double 上一次的累计结果 = 最终结果.Where(p => p.学号 == "合计").Sum(p => p.分数);32 33 double sum = 上一次的累计结果 + 这一次的累计结果;34 35 临时集合.Add(new 数据 { 学号 = "累计", 分数 = sum, 年段 = 999, 姓名 = "" });36 最终结果.AddRange(临时集合);37 临时集合.Clear();38 }39 40 string json = Newtonsoft.Json.JsonConvert.SerializeObject(最终结果);//序列化结果41 File.WriteAllText("d:\\1.json", json);
计算合计和累计
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。