字典中的重复键

时间:2018-12-02 11:04:35

标签: c# dictionary duplicates

我正在尝试用两个文件中的值填充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

关于为什么不起作用的任何建议都是很好的。

谢谢

0 个答案:

没有答案