, , , .
bool[][][], true , x, y, z ? . - Int32 1024 ( 128 ). 10 000, BitArray [] []. , , , 116 .
, - ( ) . , :
public class ThreeDimensionalBitArray
{
private const int MAX_INDEX = 1000;
private BitArray _bits = new BitArray(MAX_INDEX * MAX_INDEX * MAX_INDEX);
public bool this[int x, int y, int z]
{
get { return _bits[getBitIndex(x, y, z)]; }
set { _bits[getBitIndex(x, y, z)] = value; }
}
public ThreeDimensionalBitArray()
{
}
private static int getBitIndex(int x, int y, int z)
{
return (x * MAX_INDEX * MAX_INDEX) + (y * MAX_INDEX) + z;
}
}
public class BitArrayExample
{
public static void Main()
{
ThreeDimensionalBitArray bitArray = new ThreeDimensionalBitArray();
Console.WriteLine(bitArray[500, 600, 700]);
bitArray[500, 600, 700] = true;
Console.WriteLine(bitArray[500, 600, 700]);
}
}