在指定键处增加Dictionary的值

时间:2011-03-16 11:57:34

标签: c# dictionary

我有一个bool变量和一个Dictionary。 如果确实如此,我必须在指定的密钥处将字典值增加1。

我的代码:

 private void Process(Person person)
 {
     isSendMailSuccessful = true;

     if (isSendMailSuccessful)
     {
         MyDictionary.Where(i => i.Key == person.personID);
         // I need to increase Value of that ID by 1
     }
 }

5 个答案:

答案 0 :(得分:7)

为什么要使用LINQ,而不仅仅是字典索引器?

这样的东西
MyDictionary[person.personID] += 1;

答案 1 :(得分:4)

没有理由在这里使用LINQ。

假设您的词典为Dictionary<int,int>,您只需myDictionary[person.PersonID]++;即可。

首先应使用ContainsKey,以确认密钥存在于字典中,否则如果您尝试更改不存在的字典条目,则会抛出异常。

答案 2 :(得分:2)

MyDictionary[person.personID] += 1;

如果您不确定密钥是否存在,请先使用ContainsKey。

答案 3 :(得分:1)

除非我遗漏了一些明显的东西:

MyDictionary[person.personID] += 1;

答案 4 :(得分:1)

 private void Process(Person person)
 {
     isSendMailSuccessful = true;

     if (isSendMailSuccessful)
     {
         MyDictionary[person.personID] += 1;
     }
 }

写完之后我现在不再确定为什么我没有使用++,以及+= 1是否有用或是否必须使用:MyDictionary[person.personID] = MyDictionary[person.personID] + 1 ;