Home / 記事 / プログラム言語 / C# / C# のコレクション クラス (1/3) / BitArray クラス

e知識「e-chishiki.com」では、インドでの著名なIT著者、IT教育者、eセキュリティーの大家により作成された様々な種類のプログラミング言語に関する技術的なコンテンツを知識情報データーベースとして提供します。

C# プログラミングシリーズ

C# のコレクション クラス (1/3)

Yashavant Kanetkar
Yashavant Kanetkar

インデックス


BitArray クラス

BitArray クラスは bool 値の配列を表します。BitArray の各要素には、true または false が含まれます。BitArray クラスには、引数がゼロのコンストラクタを除く複数のオーバーロードされたコンストラクタがあります。次のステートメントでは、BitArray のオブジェクトをインスタンス化する方法を示します。

int[ ] a = { 1, 2, 3 } ;
BitArray b1 = new BitArray ( a ) ;
BitArray b2 = new BitArray ( 5 ) ;
BitArray b3 = new BitArray ( 5, true ) ;

BitArray コンストラクタの引数として別の配列への参照を渡すと、その配列のすべての要素のビット値が BitArray の要素としてコピーされます。たとえば、要素 1 のビット値 (1 または 0) は、配列 b1 の最初の 32 要素 (1 は 32 ビットの値) になります。ビットが 1 か 0 かに応じて、true または falseb1 に格納されます。配列 b2 は 5 要素で作成され、既定ではすべての要素が false に設定されます。配列 b3 には 5 つの要素が含まれ、すべての要素は bool 値の true に設定されます。次のコードでは、配列 b1 の要素が表示されます。

for ( int i = 0 ; i < b1.Count ; i++ )
    Console.WriteLine ( "{0} ", b1 [ i ] ) ;

BitArray クラスには、配列の要素に対してビットごとの演算を実行できる複数のメソッドがあります。Not( )Or( )Xor( ) などのメソッドがあります。次のコードスニペットでは、これらのメソッドを使用する方法を示します。

int[ ] a1 = { -10, -10 } ;
int[ ] a2 = { 10, 10 } ;
BitArray b1 = new BitArray ( a1 ) ;
BitArray b2 = new BitArray ( a2 ) ;
b1.And ( b2 ) ;
b1.Or ( b2 ) ;
b1.Xor ( b2 ) ;

ビットごとの演算を実行する関数には、ビットごとの演算の実行対象の要素を含むもう 1 つの BitArray が必要です。したがって、int 配列の参照を渡すことで、BitArrays の 2 つのインスタンス b1b2 を作成します。b1 の要素と b2 の要素の AND、OR、および XOR 演算を行います。b1b2 の作成に使用する配列は要素の数が同じでなければならないことに注意してください。

次に示すように、Set( ) または Setall( ) メソッドを使用して、BitArray の要素の値を変更できます。

b1.Set ( 1, true ) ;
b1.SetAll ( true ) ; 

Set( ) メソッドは指定した要素を指定した bool 値に設定し、SetAll( ) メソッドはすべての要素を指定した bool 値に設定します。

コメント

コメントするにはログイン、もしくはユーザ登録を行ってください。

発売中

LET US C(上)
インド人ITエンジニアのCプログラミングのバイブル。通算100万冊以上売れています。
― 2,520円 ―

Y. Kanetkar

発売中

Introduction to Object Oriented Programming & C++
C++を例に、多彩なサンプルコードと簡潔な説明でOOPプログラミングの実際が理解できる。
2,940

Y. Kanetkar

発売中

Microsoft .NET Web Application Security
APプログラムの作り方で不正侵入の防御率を向上させる手法を解説。今までにないセキュリティーの手法を紹介します。
3,990円

Vijay Mukhi

2008年の11月発売予定

Quest C++ ビジュアルラーニングコース
これがあれば、見て聞くだけで楽しみながらプログラミングテクニックが身につきます。
― 9,975円 ―

Y. Kanetkar Asang Dani

2008年の11月発売予定

Programmer's Guide to Web Application Security
Web System への侵入方法と原理を解説する事により、防止方法を理解することが出来る。
3,990

Vijay Mukhi

フォーラムの最新ポスト