我有一个应用程序,当我尝试向其中添加项目时,该应用程序被挂起。当我检查跟踪文件时,我得到了这个条目:
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);
}
}
这将确保每个密钥都是唯一的。但是,如果您希望每个键有多个值,那么您需要使用不同类型的集合。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)