高崇軒*_*高崇軒 3 .net c# comparison
我有一个巨大的列表,其中有1000万个项目,我试图在列表中找到一个特定的值.
这是我的项目
struct reference
{
public double GPST;
public byte cls;
public ushort fn;
public int ret_num;
}
Run Code Online (Sandbox Code Playgroud)
这是我的查询代码
List<reference> ref_pts;
List<reference> result = ref_pts.FindAll(delegate(reference obj) { return obj.GPST == pt.GPST; });
Run Code Online (Sandbox Code Playgroud)
其中pt.GPST是我想在List中找到的值
是因为尺寸太大,Find方法不起作用(总是什么都不返回)?
你不能比较双打这样的平等,使用epsilon来比较:
bool CompareDoubles2 (double A, double B)
{
diff = A - B;
return (diff < EPSILON) && (-diff < EPSILON);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
244 次 |
| 最近记录: |