简体   繁体   English

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

[英]List.Contains returns incorrect result but List.Exists works

I have a list of COM objects. 我有一个COM对象列表。 When I check whether a given COM object exists in the list, the contains method returns incorrect result sometimes, while exists always works. 当我检查列表中是否存在给定的COM对象时,contains方法有时会返回不正确的结果,而存在始终有效。 Any idea why this might be happening? 知道为什么会这样吗?

bool CheckContains(List<object> objectList, object target){
     //return objectList.Contains(target); Gives incorrect results sometimes
     return objectList.Exists(obj=>obj==target); //Always works
}

convert from the non-generic to generic using Cast or OfType try this, 使用Cast或OfType从非泛型转换为泛型,请尝试以下操作:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM