[英]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.