我正在尝试在C#中快速检测BitArrays之间的碰撞(使用AND布尔运算),这会产生一个表示重叠区域的单个BitArray。
显然,如果结果数组只包含零,则没有发生碰撞。如何最快地检查这一点?简单的迭代太慢了。我不关心碰撞发生在哪里,或者有多少个——只关心数组中是否存在非零值。
看起来应该有某种快速情况,类似于“将整个位数组转换为int值”(这特别行不通,因为BitArrays是可变大小的),但我想不出一个。
显然,如果结果数组只包含零,则没有发生碰撞。如何最快地检查这一点?简单的迭代太慢了。我不关心碰撞发生在哪里,或者有多少个——只关心数组中是否存在非零值。
看起来应该有某种快速情况,类似于“将整个位数组转换为int值”(这特别行不通,因为BitArrays是可变大小的),但我想不出一个。
BitArray
的实现方式相当慢。 - harold