С a boolean actually takes 1 byte of space, bool[]
- не самый эффективный в пространстве способ представления битового массива. Иногда целые и длинные используются как более эффективный бит-массив, но длинный может содержать только 64 бита. Есть ли более экономичный способ хранения массивов в десятки миллионов бит в ограниченной памяти?Как эффективно представлять массив бит?
Все, что нужно сделать с этим массивом, чтобы установить/очистить отдельные биты и проверить некоторые биты в 1 или 0, то есть только функции мне нужно:
void Set(int index, bool value);
bool Get(int index);
Самая большая проблема с этим классом заключается в том, что он не реализует соответствующие общие интерфейсы коллекции. Вероятно, это не проблема для ОП, если ему нужны только эти две операции. – CodesInChaos
@CodesInChaos: А какой родовой тип вы выставите? Ваша точка спорная. – leppie
@leppie Реализация 'IList' была бы подходящей ИМО. Я немного удивлен, что они не добавили это с .net 2.0, так же как они добавили его в обычные массивы. –
CodesInChaos