我有一个COM对象列表。当我检查列表中是否存在给定的COM对象时,contains方法有时返回不正确的结果,而exists总是有效。知道为什么会这样吗?
bool CheckContains(List<object> objectList, object target){
//return objectList.Contains(target); Gives incorrect results sometimes
return objectList.Exists(obj=>obj==target); //Always works
}
答案 0 :(得分:0)
使用Cast或OfType从非泛型转换为泛型尝试此,
bool CheckContains(nonGeneric.Cast(IEnumerable<object> objectList)).Contains(target){
return objectList.Contains(target);
}