List.Contains返回不正确的结果,但List.Exists工作

时间:2016-03-18 10:31:55

标签: c# linq com

我有一个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
}

1 个答案:

答案 0 :(得分:0)

使用Cast或OfType从非泛型转换为泛型尝试此,

bool CheckContains(nonGeneric.Cast(IEnumerable<object>     objectList)).Contains(target){
        return objectList.Contains(target);
   }