使用C#中的List从密钥值对中获取总和

时间:2018-02-21 12:30:27

标签: c#

我有以下代码

var list = new List<KeyValuePair<string, int>>();

list.Add(new KeyValuePair<string, int>("Cat", 1));
list.Add(new KeyValuePair<string, int>("Cat", 2));
list.Add(new KeyValuePair<string, int>("Rabbit", 4));

现在我试图传递"Cat",我应该在变量中得到这些键的总和。如果我通过Rabbit,只传递那个数字

如何获得这个?想到每个人......

1 个答案:

答案 0 :(得分:10)

这是Linq appraoch Where()Sum()

int result = list.Where(x => x.Key == "Cat").Sum(x => x.Value);

int result = list.Sum(x => x.Key == "Cat" ? x.Value : 0);