假设我们有一个这样的字典:
var dic = new Dictionary<Int32, Int32>();
而键是 ID,值是计数。现在我们要添加一个新密钥。这与以下行完美配合:
dic[1] = 1; //adding ID 1, Count 1 to the current Dictionary
假设我们有一个具有以下值的整数列表:
var ids = new List<int> {1, 2, 3 , 1, 2};
我们希望在哪里获得具有以下内容的字典:
[1, 2] ==> (ID 1, Count 2)
[2, 2] ==> (ID 2, Count 2)
[3, 1] ==> (ID 3, Count 1)
显而易见的解决方案是:
foreach (var id in ids)
{
dic[id]++;
}
但这是抛出一个KeyNotFoundException
. 所以很明显+=
,字典不支持运算符。
我已经附上了这个问题的答案。有没有更好的方法来实现这一目标?