Вы не можете распределять память на любом компьютере, о котором я знаю, в количестве, меньшем, чем один байт, определенно не на ПК.
Кроме того, с .net вы не выделяете никакой памяти, это все, что вам нужно, если только вы не используете C ++ в .Net (при сборке мусора, возможно, лучше сказать, что вы " используя «память вместо того, чтобы« выделять »память, практически невозможно определить, будет ли вызов new выделять память или повторно использовать память).
Если вы используете C ++, даже если вы можете запросить один байт, операционная система выделит блок памяти для вашей программы, который почти наверняка будет больше, чем один байт.
Если вы хотите сохранить массив битов, вы можете свернуть свою собственную коллекцию BitArray, где минимум, который вы будете хранить, - это байт (на самом деле вы должны использовать целые числа), и вы упаковываете и распаковываете биты в и из этого.
К счастью, .Net 3.5 поставляется с классом BitArray (, как, по-видимому, делали 1.0, 1.1, 2.0, 3.0 ... спасибо Джо )
Однако всегда есть стоимость. Упаковка и распаковка битов будут выполняться медленнее, чем сохранение массива логических значений.
Надеюсь, это поможет