我如何解决"项目已被添加.输入字典:"错误
本文关键字: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