我有一个应用程序在我尝试添加项目时挂起,当我检查跟踪文件时我得到了这些条目
for (int i=0; i<objects.Count; i++)
{
DataModelObject dmo = (DataModelObject)objects.GetAt(i);
sl.Add(dmo.Guid, dmo);
}
}
我不知道如何解决这个问题,任何机构都有任何建议
答案 0 :(得分:9)
问题是在排序列表中,每个键都必须是唯一的。所以你需要检查你没有插入两次相同的密钥(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);
}
}
这将确保每个键都是唯一的。但是,如果您希望每个键有多个值,那么您需要使用不同类型的集合。
答案 1 :(得分:1)
该异常表示您向key
添加了两次dictionary
,为解决此问题,您可以首先确保传递给该函数的DataModelCollection objects
具有唯一{{1}值(在您的情况下为Key
数据类型)Guid