c# - 根据属性和重复总和列出不同的条目

标签 c# list lambda

我想知道我可能会问一个简单的问题,但试图获得一个优雅的解决方案。我有一种情况,下面是行

状态 标签

  1. 阿拉巴马州 AB 9
  2. 阿拉巴马州 AB 4
  3. 亚利桑那 AZ 5
  4. 德克萨斯 TX 6
  5. 德克萨斯 TX 15
  6. 加利福尼亚 CA 14
  7. 加利福尼亚 CA 11
  8. 加利福尼亚 CA 2

考虑以上List<ValueLabels>对象(每个 ValueLabel 对象都有一组状态、标签和值),我应该生成另一个包含以下信息的列表。

  1. 阿拉巴马州 AB 13
  2. 亚利桑那 AZ 5
  3. 德克萨斯 TX 21
  4. 加利福尼亚 CA 27

这意味着,最终,我应该得到一个基于 State 属性的唯一记录,而 value 属性应该是所有基于 State 属性的重复条目的总和。

我用过ListObj.DistinctBy(p => p.State).ToList()使用 lambda 表达式函数,但我无法将值添加到一起。

任何人都可以帮助我实现上述目标吗?如果需要更多信息,请告诉我。

最佳答案

未测试,但这应该有效。

var newList = list.GroupBy(x=> new {x.State , x.Label })
                  .Select(x=> new YourClass(x.Key.State, x.Key.Label, x.Sum(x=>x.Value) ))
                  .ToList();

关于c# - 根据属性和重复总和列出不同的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23805792/

相关文章:

c# - C#中三个kinect 2设置之间的通信

c - 列表列表(内部列表被删除或内存释放)

c# - 我需要格式化文本框以接受数字 ###,###,###

c# - 将 for 循环与 if 和 else 结合使用

设置某些值后,C#/WPF 位图保持白色(使用 LockBits)

c# - 我们如何在 C# 中解释 => Something => Something2 => Something3

c++ - 逗号运算符使 lambda 表达式成为非 constexpr

python - 在列表中替换时遇到问题 - Python

javascript - 如何使用 jQuery 获取第一级列表元素的宽度

java - 为什么我的快速求幂算法在 lambda 参数中出现 'cannot find symbol' 错误?