我正在尝试用两个文件中的值填充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);
}
}
据我所知应该没有问题,但运行时出现以下错误;
未处理的异常:System.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 [] args)在D:\ UNI \ Year 5 \ AI-SET09122 \ SET09122-CW1 \ tests \ Djikstras_algo \ Djikstras_algo \ Program.cs:line 186 引用
我不确定为什么会发生此错误。如果有用,请在此处找到完整的项目代码-Djikstras_Project
关于为什么不起作用的任何建议都是很好的。
谢谢