я получаю сообщение об ошибке с помощью следующего кода:Аргумент Exception «Пункт с тем же ключом уже был добавлен»
Dictionary<string, string> rct3Features = new Dictionary<string, string>();
Dictionary<string, string> rct4Features = new Dictionary<string, string>();
foreach (string line in rct3Lines)
{
string[] items = line.Split(new String[] { " " }, 2, StringSplitOptions.None);
rct3Features.Add(items[0], items[1]);
////To print out the dictionary (to see if it works)
//foreach (KeyValuePair<string, string> item in rct3Features)
//{
// Console.WriteLine(item.Key + " " + item.Value);
//}
}
ошибка Выдает ArgumentException
говоря
«Элемент с тот же ключ уже добавлен ».
Я не уверен, что после нескольких поисковых запросов Google исправить это.
Позже в коде мне нужно, чтобы получить доступ к словарю для сравнения функции:
Compare4To3(rct4Features, rct3Features);
public static void Compare4To3(Dictionary<string, string> dictionaryOne, Dictionary<string, string> dictionaryTwo)
{
//foreach (string item in dictionaryOne)
//{
//To print out the dictionary (to see if it works)
foreach (KeyValuePair<string, string> item in dictionaryOne)
{
Console.WriteLine(item.Key + " " + item.Value);
}
//if (dictionaryTwo.ContainsKey(dictionaryOne.Keys)
//{
// Console.Write("True");
//}
//else
//{
// Console.Write("False");
//}
//}
}
Эта функция не завершена, но я пытаюсь разрешить это исключение. Каким образом я могу исправить эту ошибку исключения и сохранить доступ к словарю для использования с этой функцией? Спасибо
Остановите попытку добавить несколько элементов с тем же ключом. Возможно, вы должны добавить проверку при добавлении, чтобы убедиться, что ключ еще не существует. В противном случае мы не можем понять, каков будет правильный курс действий, поскольку вы почти не указали информацию о том, что хотите, если есть дубликаты. –
Почему у вас есть дубликаты ключей? Если вам нужно больше одного значения за ключ, вы должны использовать 'Dictionary>'. –
Проверьте мой ответ ниже для получения более подробной информации, но вы можете заменить свой Добавить другим синтаксисом. Следующее просто перезапишет существующее значение для ключа, если ключ уже существует: 'rct3Features [items [0]] = items [1];' –