首页 新闻 会员 周边 捐助

List数据根据ID分组相加

0
[已解决问题] 解决于 2013-06-21 09:04

List里是实体User类型,包含ID,Num,DataTime三列,现在要把ID相同的相加,再返回另一个List,要怎么做

淘@淘的主页 淘@淘 | 小虾三级 | 园豆:602
提问于:2013-06-17 17:27
< >
分享
最佳答案
0
 List<User> list = new List<User> { 
            new User{Id=1,Num=10},
            new User{Id=1,Num=20},
            new User{Id=2,Num=50},
            };

            var query = from l in list
                        group l by l.Id into g
                        select new { 
                            g.Key,
                            Num = g.Sum(l=>l.Num)
                        };
            foreach (var item in query)
            {
                Console.WriteLine(item.Key + ":" + item.Num);
            }
奖励园豆:5
chenping2008 | 大侠五级 |园豆:9836 | 2013-06-18 09:27
其他回答(3)
0

遍历list,判断id是否相同,相同的相加(具体什么相加??Num),然后返回List

WuRang | 园豆:1730 (小虾三级) | 2013-06-17 17:32

有没有简便的方法呢

支持(0) 反对(0) 淘@淘 | 园豆:602 (小虾三级) | 2013-06-17 17:38
0

一个LIST么  是Num相加? 直接返回自己可以么

芒果の冰 | 园豆:187 (初学一级) | 2013-06-17 17:53

ID不能重复,现在List里有ID重复的数据,要把ID重复的数据的Num相加

支持(0) 反对(0) 淘@淘 | 园豆:602 (小虾三级) | 2013-06-18 08:25
0

楼上是个好方法,使用Linq即可。这个可能会干掉Datatime这一列。

幻天芒 | 园豆:37205 (高人七级) | 2013-06-18 13:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册