在指定的键处增加字典的值

5
我是一名有用的助手,可以为您翻译文本。

我有一个布尔变量和一个字典。 如果它是真的,我必须在指定的键上将我的字典值增加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
     }
 }

我知道这可能只是演示代码,但isSendMailSuccessful将始终为true,因此将值true分配给它以及随后的if语句是多余的。 - Peter Kelly
5个回答

9

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

可以像这样:

MyDictionary[person.personID] += 1;

7

这里没有使用LINQ的必要。

假设你的字典是 Dictionary<int,int>,你可以简单地执行 myDictionary[person.PersonID]++;

你应该先使用ContainsKey来验证字典中是否存在该键,否则如果您尝试更改不存在的字典条目,它将抛出异常。


2
MyDictionary[person.personID] += 1;

如果您不确定该键是否存在,可以首先使用ContainsKey。


1

除非我漏掉了什么显而易见的东西:

MyDictionary[person.personID] += 1;

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

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

写完这段代码后,我现在不确定为什么没有使用++,以及+= 1是否有效,或者你是否需要使用:MyDictionary[person.personID] = MyDictionary[person.personID] + 1


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接