Я пытаюсь заполнить dictionary
значениями из двух файлов, первый файл caveConnections
заполняет первое значение ключа словаря.второе значение ключа заполняется connectionWeights
содержимое файла выглядит следующим образом:
caveConnections
4
4 5
5 6 7
1 5 6
2 3 4
3 4
3
connectionWeights
2
8 3
2 14 5
7 6 11
2 11 6
14 1
1
код, который содержит этовыход выглядит следующим образом:
Graph g = new Graph();
for (int i = 0; i <= totalNumberOfCaves; i++)
{
string ConnectedCaves = @"D:\UNI\Year 5\AI - SET09122\SET09122 - CW1\WriteConnectedCaves.txt";
string[] lines = File.ReadAllLines(ConnectedCaves);
//adds the values to the graph
for (int k = 0; k < lines.Length; k++)
{
string[] ints = lines[i].Split(' ');
Dictionary<int, int> dict = new Dictionary<int, int>();
for (int j = 0; j < ints.Length; j++)
{
if (!dict.ContainsKey(int.Parse(ints[i].Trim())))
{
dict.Add(int.Parse(ints[i].Trim()), int.Parse(connectionweight.Pop()));
}
}
Console.Write(dict);
g.add_vertex(k+1, dict);
}
}
насколько я вижу, не должно быть проблемы, но я получаю следующую ошибку при запуске;
Необработанное исключение: Система.ArgumentException: элемент с тем же ключом уже был добавлен.в System.ThrowHelper.ThrowArgumentException (ресурс ExceptionResource) в System.Collections.Generic.Dictionary 2.Insert(TKey key, TValue value, Boolean add)
at System.Collections.Generic.Dictionary
2.Add (ключ TKey, значение TValue) в Djikstras_algo.Program.Main (аргументы String []) в D: \ UNI \ Year5 \ AI - SET09122 \ SET09122 - CW1 \ tests \ Djikstras_algo \ Djikstras_algo \ Program.cs: строка 186 Цитата
Я не уверен, почему возникает эта ошибка.если это полезно, полный код проекта можно найти здесь - Djikstras_Project
Любое предложение о том, почему это не работает, было бы замечательно.
Спасибо