我有以下代码
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,只传递那个数字
如何获得这个?想到每个人......
答案 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);