【发布时间】:2014-03-24 03:28:58
【问题描述】:
我正在研究一种将项目细分为象限的数据结构,我发现的瓶颈之一是我选择该点象限的方法。诚然,它相当简单,但它被调用了很多次,以至于它加起来。我想一定有一种有效的方法可以把它弄成我想要的东西,但我想不出。
private int Quadrant(Point p)
{
if (p.X >= Center.X)
return p.Y >= Center.Y ? 0 : 3;
return p.Y >= Center.Y ? 1 : 2;
}
Center 的类型为 Point,坐标为 ints。是的,我已经运行了一个代码配置文件,不,这不是过早的优化。
因为这仅在内部使用,所以我想我的象限必须在Cartesian order,只要它们的范围是 0-3。
【问题讨论】:
标签: c# optimization bit-manipulation