如何检查重复键并从Dictionary中删除以前的值?

时间:2014-03-10 11:04:42

标签: c# dictionary

我有一个Dictionary,其中包含带键的值。根据我的条件,我将拥有Dictionary中严格禁止的重复密钥。现在我的问题是:如何检查当前Dictionary中的上一个重复键并删除它以添加新的?

6 个答案:

答案 0 :(得分:6)

我的建议是将删除视为简单地覆盖匹配条目的Value成员。

if (myDictionary.ContainsKey("key"))
{
    myDictionary["key"] = newValue;
}

答案 1 :(得分:5)

您可以使用词典的 ContainsKey()方法查明词典是否已包含您的密钥

dict.ContainsKey(Key)
如果词典包含键,则 返回 true ,否则返回 false

不需要删除您只能覆盖值的密钥

if(dict.ContainsKey(Key))
{
dict[key]=YOUR_NEW_VALUE;
}
else
{
 dict.Add ( key,YOUR_NEW_VALUE);
}

答案 2 :(得分:4)

使用ContainsKey()

if(dict.ContainsKey(YourKey))
    dict[YourKey] = YourNewValue;

其中dict是你的字典。

此行会将新值覆盖到键:

dict[YourKey] = YourNewValue;

答案 3 :(得分:3)

使用ContainsKey方法查找现有密钥,如下所示:

 if (yourdictc.ContainsKey("YourKey"))
   { 
     //Do Somethig
   } 

答案 4 :(得分:2)

var uniqueValues = myDict.GroupBy(pair => pair.Value)
                         .Select(group => group.First())
                         .ToDictionary(pair => pair.Key, pair => pair.Value);

答案 5 :(得分:1)

如果您想要添加或更新行为,则无需调用ContainsKey。只需指定值,如果密钥存在,它将被更新。如果没有,它将被添加。

dict[key] = newValue;