对列表进行分组和求和我有这个ListListolst=newList();olst.Add(新对象[]{"AA1",1});olst.Add(新对象[]{"AA2",1});olst.Add(新对象[]{"AA2",1});olst.Add(新对象[]{"AA1",1});olst.Add(新对象[]{"AA1",1});从olst,我需要生成一个新的列表来保存它:"AA1",3"AA2",2换句话说,我需要对olst[x][0]进行分组并求和到olst[x][1].我可以使用for循环,但我希望有人可以帮助我使用lambda表达式和/或linq来做到这一点。使用GroupBy和Select:ListnewList=olst/*按每个项目中位置0处的元素对列表进行分组*/.GroupBy(o=>o[0].ToString())/*将创建的分组投影到一个新对象中[]:*/.Select(i=>newobject[]{i.Key,i.Sum(x=>(int)x[1])}).ToList();这将允许您将列表转换为字典映射,从第一个值到具有相同第一个值的第二个值的总和。varresult=olst.GroupBy(entry=>(String)entry[0]).Select(group=>newObject[]{group.Key,group.Sum(item=>(Int32)item[1])}).ToList();我错过了声明结果应该是包含Object[]的List类型的部分。如果诋毁者能评论原因,那将会有所帮助。;)以上就是C#学习教程的全部内容:列表的分组求和与分享。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
