Member 11000455 Ответов: 3

Как проверить, существует ли набор ключей и значений уже в словаре


dictionary.Add(1,"one");
dictionary.Add(1,"one");


dictionary. Add(1, "one"); / / Как проверить, существует ли следующая пара ключа и значения уже в словаре, который я хочу проверить перед добавлением в словарь
если
{
(1, "один"); если следующий набор значений ключа не exixts
словарь. добавить (1, " один");

}

Что я уже пробовал:

how to check if following pair of key and value already exists in a 

3 Ответов

Рейтинг:
27
Рейтинг:
1

Matt T Heffron

Как вы, вероятно, обнаружили, если вы Add(key, value) К Dictionary у этого уже есть запись с тем же самым key, он бросает ArgumentException. Невозможно иметь несколько записей с одним и тем же именем. key.
Если вы хотите добавить значение если ключа нет то попробуйте сделать это:

Dictionary<int, string> dict = new Dictionary<int, string>();
// initial value for demonstration
dict.Add(1, "umpteen");
dict.Add(2, "di");
// later
if (!dict.Contains(1))
  dict.Add(1, "mono");
// nothing changed in dict
if (!dict.Contains(3))
  dict.Add(3, "three");
// A new key-value pair was added

Если все, что вы хотите, это убедиться, что пара ключ-значение существует в Dictionary, независимо от того, есть ли уже пара ключ-значение с тем же самым ключ и либо то же самое, либо другое значение, то вместо AddИнг к Dictionary, просто назначьте в него:
// assume dict as we left it above...
dict[1] = "mono";
dict[2] = "di";
dict[3] = "tri";
dict[4] = "quad";

Ни одно из этих назначений не вызвало исключения, и все 4 записи в dict установлены.


Рейтинг:
1

Andira Muttakim

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

ContainsKey(TKey)


И это для проверки значения
ContainsValue(TValue)