Product prod = new Product();
prod.Components = new sortedList();
prod.Components.Add(0,1);
prod.Components.Add(1,2);
运行到第二个Add(1,2)时提示错误:已添加项。字典中的关键字:“0”所添加的关键字:“1”程序原来是在循环中给一个整型变量赋予不同值,把它作为KEY 加入,因为也是第二次添加出错,改成上边简单形式调试,结果还是错误。有人遇到过类似问题吗,怎么解决?

解决方案 »

  1.   

    上面的帖子不准确,那句每有问题。不过出问题的是下面的句子,加了个 ICompare,就出现上面的错误了。 拜托帮忙,有点急啊 Product   prod   =   new   Product(); 
    prod.Components   =   new   sortedList( new IntComparer() ); 
    prod.Components.Add(0,1); 
    prod.Components.Add(1,2);         private class IntComparer : Comparer<int>      
            {
                public override int Compare(int x, int y)
                {
                    if (x < y)
                      return 0;
                    else if (x == y)
                      return 0;
                    else return -1;
                }
            }