我有一个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
}
}
答案 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
;