Это зависит от того, что вы подразумеваете под "битовым массивом" ... Если вы имеете в виду экземпляр класса BitArray
, ответ Гуффы должен работать нормально.
Если вам действительно нужен массив битов, например, в форме bool[]
, вы можете сделать что-то подобное:
byte[] bytes = ...
bool[] bits = bytes.SelectMany(GetBits).ToArray();
...
IEnumerable<bool> GetBits(byte b)
{
for(int i = 0; i < 8; i++)
{
yield return (b & 0x80) != 0;
b *= 2;
}
}