ビット コレクション
更新 : 2007 年 11 月
ビット コレクションは、要素がビット フラグであるコレクションです。ビット コレクションは、各要素がオブジェクトではなくビットであるため、他のコレクションとは動作が少し異なります。
BitArray クラスは、その容量が常にカウントと同じであるコレクション クラスです。Length プロパティの値を増やすことで要素が BitArray に追加されます。また Length プロパティの値を減らすことで要素が削除されます。BitArray クラスには、And、Or、Xor、Not、および SetAll などのフィルタを使用して一度に複数の要素を変更できるようにするメソッドなど、他のコレクションにはないメソッドが用意されています。
BitVector32 クラスは、BitArray と同じ機能を備えながら、高速処理を実行できる構造体です。BitArray が参照型であり、ヒープ上に割り当てられるのに比べ、BitVector32 は値型であり、したがってスタック上に割り当てられるため、より高速に処理されます。
BitVector32 は 32 ビットきっかりを格納しますが、BitArray では、可変のビット数を格納できます。BitVector32 では、ビット フラグと小さい整数の両方を格納するので、ユーザーに公開しないデータの格納に適しています。ただし、必要なビット フラグの数が不明な場合、変数である場合、または 32 を超える場合は、代わりに BitArray を使用します。
BitArray は System.Collections 名前空間に含まれます。BitVector32 は System.Collections.Specialized 名前空間に含まれます。
参照
参照
System.Collections.Specialized