【发布时间】:2014-01-03 09:43:11
【问题描述】:
我有一个巨大的列表,比如说其中有 1000 万个项目,我试图在列表中找到一个特定的值。
这是我的物品
struct reference
{
public double GPST;
public byte cls;
public ushort fn;
public int ret_num;
}
这是我的查询代码
List<reference> ref_pts;
List<reference> result = ref_pts.FindAll(delegate(reference obj) { return obj.GPST == pt.GPST; });
pt.GPST 是我想在 List 中找到的值
是不是因为尺寸太大,哪个Find方法不起作用(总是什么都不返回)?
【问题讨论】:
-
是的,是的。我编辑了这个问题,谢谢你提醒我。
-
不,原因不是列表很大。该列表在处理该大小的数据时没有问题。一个原因可能是 thumbmunkeys 建议的双精度问题,另一个是您的代码中的其他地方可能存在问题,因此列表实际上不包含您要查找的项目。
-
我尝试使用for循环找到该项目,并且可以通过这种方式找到该项目。我很困惑。
标签: c# .net comparison