我如何解决"项目已被添加.输入字典:"错误

本文关键字:quot 添加 输入 字典 错误 项目 解决 何解决 | 更新日期: 2023-09-27 18:10:28

我有一个应用程序,当我试图添加项目时挂起了。当我检查跟踪文件时,我得到了这个条目:

   for (int i=0; i<objects.Count; i++) 
   {
      DataModelObject dmo = (DataModelObject)objects.GetAt(i);
      sl.Add(dmo.Guid, dmo);
   }
}

我不知道如何解决这个问题

我如何解决"项目已被添加.输入字典:"错误

问题是,在排序列表中,每个键都需要是唯一的。因此,您需要检查是否两次插入相同的键(guid值)。代码如下:

 for (int i=0; i<objects.Count; i++) 
 {        
    DataModelObject dmo = (DataModelObject)objects.GetAt(i);
    if (!sl.ContainsKey(dmo.Guid))
    {
        sl.Add(dmo.Guid, dmo);
    }
 }

这将确保每个键是唯一的。但是,如果您希望每个键有多个值,则需要使用不同类型的集合。

该例外表明您添加相同的key两次到您的dictionary,为了解决这个问题,您可以通过确保传递给函数的DataModelCollection objects具有唯一的Key值(在您的情况下是Guid数据类型)dmo.Guid