Как проверить наличие дубликатов ключей и удалить предыдущее значение из словаря?



У меня есть Dictionary, который содержит значения с ключами. В соответствии с моим условием, у меня будут дубликаты ключей, которые строго запрещены в Dictionary. Теперь мой вопрос: Как проверить наличие предыдущего дубликата ключа в текущем Dictionary и удалить его, чтобы добавить новый?

518   6  

6 ответов:

Вы можете использовать метод ContainsKey() словаря, чтобы узнать, содержит ли словарь уже ваш ключ или нет

dict.ContainsKey(Key)

It возвращает A true Если Словарь содержит ключ в противном случае возвращает a false

Вам не нужно удалять ключ, вы можете просто перезаписать значение

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

Мой совет-думать об удалении как о простой перезаписи члена Value соответствующей записи.

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

С помощью ContainsKey():

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

Где dict - ваш словарь.

Эта строка перезаписывает новое значение в Ключ:

dict[YourKey] = YourNewValue;
var uniqueValues = myDict.GroupBy(pair => pair.Value)
                         .Select(group => group.First())
                         .ToDictionary(pair => pair.Key, pair => pair.Value);

Используйте метод ContainsKey для поиска существующего ключа следующим образом:

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

Если вы хотите добавить или обновить поведение, вам не нужно вызывать ContainsKey. Просто назначьте значение, и оно будет обновлено, если ключ существует. Если нет, то он будет добавлен.

dict[key] = newValue;

Comments

    Ничего не найдено.