A BitVector32
получает повышение по сравнению с BitArray
, потому что это всего лишь 32-разрядное целое число и не имеет служебных данных, связанных с классом (главным образом, служебной памяти) .
Это означает, что если вам нужно сохранить более 32 булевых значений, вам нужно будет использовать BitArray
или несколько BitVector32
. Так как несколько BitVector32
могут быть громоздкими, вы можете поместить их в массив или класс, что устранит повышение производительности.
Короче говоря, если вам нужно сохранить 32 или менее логических значений, используйте BitVector32
. Если вам нужно хранить больше, тогда оцените свои потребности и условия кодирования, прежде чем слепо выбрать BitVector32
, в противном случае вы можете сделать больше работы для себя, заново изобретая BitArray
и не заметив каких-либо преимуществ для производительности.
Примечание: в большинстве случаев я предпочитаю использовать перечисление с флагом вместо BitVectore32
. См. этот вопрос для объяснения и некоторых хороших трюков.