我在 Linq 中有一个查询,它调用 where 子句中的一个方法......这是代码:
it = {my iter}
{
...
return from l in lifts
where(compare(l.Trip.Start, it.Start, startRadius))
select l;
}
private bool compare(POI a, POI b, int radius)
{
return (((b.Position.X.Value - radius < a.Position.X.Value)
&& (a.Position.X.Value < b.Position.X.Value + radius))
&& ((b.Position.Y.Value - radius < a.Position.Y.Value)
&& (a.Position.Y.Value< b.Position.Y.Value + radius)));
}
但查询每次返回所有电梯列表。为什么方法 compare 每次都返回 true?我哪里错了?谢谢