Friday, September 9, 2011

Initializing BitVector32 to True

When studying for my 70-536 exam (.NET Foundation) I came across the following:

You are developing an application to assist the user in conducting electronic surveys.
The survey consists of 25 true-or-false questions. You need to perform the following tasks:
- Initialize each answer to true.
- Minimize the amount of memory used by each survey.
Which storage option should you choose?
A. BitVector32 answers = new BitVector32(1);
B. BitVector32 answers = new BitVector32(-1);
C. BitArray answers = new BitArray(1);
D. BitArray answers = new BitArray(-1);

Ok, BitVector32 is preferred above BitArray, but I wasn't aware of the fact how to initialize all the values to true, I would have chosen A.
But then only the first answer would be true. So the correct answer is therefore B (BitVector32(-1)).