Преобразование BitArray в Int в С#

В С# у меня есть BitArray, в котором хранится значение 5 следующим образом

BitArray bitArray = new BitArray(new int[] { 5});

Я хочу получить значение 5 из BitArray как целое число следующим образом:

int myInt = //some operation on bitArray goes here

Каким будет быстрый способ его извлечения? Эта операция будет часто повторяться, поэтому производительность важна.


person Caustix    schedule 18.09.2017    source источник
comment
В ответе здесь есть дополнительные проверки длины, которые мне не нужны stackoverflow.com/questions/5283180/   -  person Caustix    schedule 18.09.2017


Ответы (1)


Просто скопируйте битовый массив в массив int и возьмите первый элемент.

BitArray bitArray = new BitArray(new int[] { 5 });
int[] array = new int[1];
bitArray.CopyTo(array, 0);
int result = array[0];
person Fruchtzwerg    schedule 18.09.2017
comment
Есть ли такой же быстрый метод, который не требует объявления массива? - person Caustix; 18.09.2017
comment
Я не знаю более быстрого решения. Подумайте об использовании C или C++, если это недостаточно быстро. - person Fruchtzwerg; 18.09.2017