この質問をする方法がよくわかりませんが、ルックアップ配列には(これまでのところ)2つの方法があります
オプション 1 は次のとおりです。
bool[][][] myJaggegArray;
myJaggegArray = new bool[120][][];
for (int i = 0; i < 120; ++i)
{
if ((i & 0x88) == 0)
{
//only 64 will be set
myJaggegArray[i] = new bool[120][];
for (int j = 0; j < 120; ++j)
{
if ((j & 0x88) == 0)
{
//only 64 will be set
myJaggegArray[i][j] = new bool[60];
}
}
}
}
オプション 2 は次のとおりです。
bool[] myArray;
// [998520]
myArray = new bool[(120 | (120 << 7) | (60 << 14))];
どちらの方法もうまく機能しますが、高速ルックアップを行う別の (より良い) 方法はありますか?速度/パフォーマンスが重要な場合は、どちらを使用しますか?
これはチェス盤の実装 (0x88)で使用され、ほとんどの場合
[from][to][dataX]
オプション 1 の場合
[(from | (to << 7) | (dataX << 14))]
オプション 2 の場合