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
установлены.