How do I create an array (8x8) of BitArrays (16 bits).

I awarded the points as the question was answered, the answer being:

BitArray[,] board = new BitArray[8, 8];
for (int i = 0; i < 8; i++)
{
  for (int j = 0; j < 8; j++)
  {
    board[i, j] = new BitArray(16);
  }
}

However, my question evolves.....what if I want the 8x8 Array to contain a Struct, so that each square on the board has an int colour and a 16 bitArray , and an int array [3]

LVL 1
lplayerAsked:
Who is Participating?
 
CuteBugConnect With a Mentor Commented:
Define the struct as


struct Square
{
    int colour;
    BitArray bitArray;
    int[] array;
 
    public Square(int clr, BitArray bArr, int[] arr)
    {
        colour = clr;
        bitArray = bArr;
        array = arr;
    }
}
 
 
You can initialize your array like this
 
Square[,] board = new Square[8, 8];
for (int i = 0; i < 8; i++)
{
    for (int j = 0; j < 8; j++)
    {
        board[i, j] = new Square(0, new BitArray(16), new int[3]);
    }
}

Open in new window

0
 
Anurag ThakurTechnical ManagerCommented:
why dont you create an array of structure which meets your requirement
0
 
lplayerAuthor Commented:
Thanks CuteBug,  

          board[3, 3].bitArray[0] = true;
           board[2, 2].colour = 1;
           board[1, 1].array[2] = 5

For completeness for other lost souls trying to fathom out Structs/arrays, all the above work
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.