C#,VB.NETのブール値(bool,Boolean)はTrueとFalseの2値しか保持しませんが、1変数あたり4バイト(32Bit)のメモリ量を必要とします。 簡単に言うと残りの31ビットは無駄な状態となります。大量のブール値を保持する場合、この非効率さが問題となるケースがあります。 そうした場合に利用できるのがBitVector32と、BitArrayです。 ■BitVector32 BitVector32は1ビットずつブール値で取り扱えるようにした32ビットの構造体です。4バイトしかメモリを消費しませんが、32個のブール値を取り扱えます。但し、配列の添え字がMask値のため少し扱いにくいということと、32個を超えるブール値は1変数では管理できません。 using System; using System.Collections; using System.Collections.