BitArray クラス
アセンブリ: mscorlib (mscorlib.dll 内)

<SerializableAttribute> _ <ComVisibleAttribute(True)> _ Public NotInheritable Class BitArray Implements ICollection, IEnumerable, ICloneable
[SerializableAttribute] [ComVisibleAttribute(true)] public sealed class BitArray : ICollection, IEnumerable, ICloneable
[SerializableAttribute] [ComVisibleAttribute(true)] public ref class BitArray sealed : ICollection, IEnumerable, ICloneable

BitArray のサイズはクライアントによって制御されます。BitArray の末尾を越えてインデックスを付けようとすると ArgumentException がスローされます。
このコレクション内の要素は、整数インデックスを使用してアクセスできます。このコレクションのインデックスは 0 から始まります。

BitArray を作成および初期化する方法と、その値を出力する方法を次のコード例に示します。
Imports System Imports System.Collections Public Class SamplesBitArray Public Shared Sub Main() ' Creates and initializes several BitArrays. Dim myBA1 As New BitArray(5) Dim myBA2 As New BitArray(5, False) Dim myBytes() As Byte = {1, 2, 3, 4, 5} Dim myBA3 As New BitArray(myBytes) Dim myBools() As Boolean = {True, False, True, True, False} Dim myBA4 As New BitArray(myBools) Dim myInts() As Integer = {6, 7, 8, 9, 10} Dim myBA5 As New BitArray(myInts) ' Displays the properties and values of the BitArrays. Console.WriteLine("myBA1") Console.WriteLine(" Count: {0}", myBA1.Count) Console.WriteLine(" Length: {0}", myBA1.Length) Console.WriteLine(" Values:") PrintValues(myBA1, 8) Console.WriteLine("myBA2") Console.WriteLine(" Count: {0}", myBA2.Count) Console.WriteLine(" Length: {0}", myBA2.Length) Console.WriteLine(" Values:") PrintValues(myBA2, 8) Console.WriteLine("myBA3") Console.WriteLine(" Count: {0}", myBA3.Count) Console.WriteLine(" Length: {0}", myBA3.Length) Console.WriteLine(" Values:") PrintValues(myBA3, 8) Console.WriteLine("myBA4") Console.WriteLine(" Count: {0}", myBA4.Count) Console.WriteLine(" Length: {0}", myBA4.Length) Console.WriteLine(" Values:") PrintValues(myBA4, 8) Console.WriteLine("myBA5") Console.WriteLine(" Count: {0}", myBA5.Count) Console.WriteLine(" Length: {0}", myBA5.Length) Console.WriteLine(" Values:") PrintValues(myBA5, 8) End Sub 'Main Public Shared Sub PrintValues(myList As IEnumerable, myWidth As Integer) Dim i As Integer = myWidth Dim obj As [Object] For Each obj In myList If i <= 0 Then i = myWidth Console.WriteLine() End If i -= 1 Console.Write("{0,8}", obj) Next obj Console.WriteLine() End Sub 'PrintValues End Class 'SamplesBitArray ' This code produces the following output. ' ' myBA1 ' Count: 5 ' Length: 5 ' Values: ' False False False False False ' myBA2 ' Count: 5 ' Length: 5 ' Values: ' False False False False False ' myBA3 ' Count: 40 ' Length: 40 ' Values: ' True False False False False False False False ' False True False False False False False False ' True True False False False False False False ' False False True False False False False False ' True False True False False False False False ' myBA4 ' Count: 5 ' Length: 5 ' Values: ' True False True True False ' myBA5 ' Count: 160 ' Length: 160 ' Values: ' False True True False False False False False ' False False False False False False False False ' False False False False False False False False ' False False False False False False False False ' True True True False False False False False ' False False False False False False False False ' False False False False False False False False ' False False False False False False False False ' False False False True False False False False ' False False False False False False False False ' False False False False False False False False ' False False False False False False False False ' True False False True False False False False ' False False False False False False False False ' False False False False False False False False ' False False False False False False False False ' False True False True False False False False ' False False False False False False False False ' False False False False False False False False ' False False False False False False False False
using System; using System.Collections; public class SamplesBitArray { public static void Main() { // Creates and initializes several BitArrays. BitArray myBA1 = new BitArray( 5 ); BitArray myBA2 = new BitArray( 5, false ); byte[] myBytes = new byte[5] { 1, 2, 3, 4, 5 }; BitArray myBA3 = new BitArray( myBytes ); bool[] myBools = new bool[5] { true, false, true, true, false }; BitArray myBA4 = new BitArray( myBools ); int[] myInts = new int[5] { 6, 7, 8, 9, 10 }; BitArray myBA5 = new BitArray( myInts ); // Displays the properties and values of the BitArrays. Console.WriteLine( "myBA1" ); Console.WriteLine( " Count: {0}", myBA1.Count ); Console.WriteLine( " Length: {0}", myBA1.Length ); Console.WriteLine( " Values:" ); PrintValues( myBA1, 8 ); Console.WriteLine( "myBA2" ); Console.WriteLine( " Count: {0}", myBA2.Count ); Console.WriteLine( " Length: {0}", myBA2.Length ); Console.WriteLine( " Values:" ); PrintValues( myBA2, 8 ); Console.WriteLine( "myBA3" ); Console.WriteLine( " Count: {0}", myBA3.Count ); Console.WriteLine( " Length: {0}", myBA3.Length ); Console.WriteLine( " Values:" ); PrintValues( myBA3, 8 ); Console.WriteLine( "myBA4" ); Console.WriteLine( " Count: {0}", myBA4.Count ); Console.WriteLine( " Length: {0}", myBA4.Length ); Console.WriteLine( " Values:" ); PrintValues( myBA4, 8 ); Console.WriteLine( "myBA5" ); Console.WriteLine( " Count: {0}", myBA5.Count ); Console.WriteLine( " Length: {0}", myBA5.Length ); Console.WriteLine( " Values:" ); PrintValues( myBA5, 8 ); } public static void PrintValues( IEnumerable myList, int myWidth ) { int i = myWidth; foreach ( Object obj in myList ) { if ( i <= 0 ) { i = myWidth; Console.WriteLine(); } i--; Console.Write( "{0,8}", obj ); } Console.WriteLine(); } } /* This code produces the following output. myBA1 Count: 5 Length: 5 Values: False False False False False myBA2 Count: 5 Length: 5 Values: False False False False False myBA3 Count: 40 Length: 40 Values: True False False False False False False False False True False False False False False False True True False False False False False False False False True False False False False False True False True False False False False False myBA4 Count: 5 Length: 5 Values: True False True True False myBA5 Count: 160 Length: 160 Values: False True True False False False False False False False False False False False False False False False False False False False False False False False False False False False False False True True True False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False True False False False False False False False False False False False False False False False False False False False False False False False False False False False False True False False True False False False False False False False False False False False False False False False False False False False False False False False False False False False False False True False True False False False False False False False False False False False False False False False False False False False False False False False False False False False False */
using namespace System; using namespace System::Collections; void PrintValues( IEnumerable^ myList, int myWidth ); int main() { // Creates and initializes several BitArrays. BitArray^ myBA1 = gcnew BitArray( 5 ); BitArray^ myBA2 = gcnew BitArray( 5,false ); array<Byte>^myBytes = {1,2,3,4,5}; BitArray^ myBA3 = gcnew BitArray( myBytes ); array<Boolean>^myBools = {true,false ,true,true,false}; BitArray^ myBA4 = gcnew BitArray( myBools ); array<Int32>^myInts = {6,7,8,9,10}; BitArray^ myBA5 = gcnew BitArray( myInts ); // Displays the properties and values of the BitArrays. Console::WriteLine( "myBA1" ); Console::WriteLine( " Count: {0}", myBA1->Count ); Console::WriteLine( " Length: {0}", myBA1->Length ); Console::WriteLine( " Values:" ); PrintValues( myBA1, 8 ); Console::WriteLine( "myBA2" ); Console::WriteLine( " Count: {0}", myBA2->Count ); Console::WriteLine( " Length: {0}", myBA2->Length ); Console::WriteLine( " Values:" ); PrintValues( myBA2, 8 ); Console::WriteLine( "myBA3" ); Console::WriteLine( " Count: {0}", myBA3->Count ); Console::WriteLine( " Length: {0}", myBA3->Length ); Console::WriteLine( " Values:" ); PrintValues( myBA3, 8 ); Console::WriteLine( "myBA4" ); Console::WriteLine( " Count: {0}", myBA4->Count ); Console::WriteLine( " Length: {0}", myBA4->Length ); Console::WriteLine( " Values:" ); PrintValues( myBA4, 8 ); Console::WriteLine( "myBA5" ); Console::WriteLine( " Count: {0}", myBA5->Count ); Console::WriteLine( " Length: {0}", myBA5->Length ); Console::WriteLine( " Values:" ); PrintValues( myBA5, 8 ); } void PrintValues( IEnumerable^ myList, int myWidth ) { int i = myWidth; IEnumerator^ myEnum = myList->GetEnumerator(); while ( myEnum->MoveNext() ) { Object^ obj = safe_cast<Object^>(myEnum->Current); if ( i <= 0 ) { i = myWidth; Console::WriteLine(); } i--; Console::Write( "{0,8}", obj ); } Console::WriteLine(); } /* This code produces the following output. myBA1 Count: 5 Length: 5 Values: False False False False False myBA2 Count: 5 Length: 5 Values: False False False False False myBA3 Count: 40 Length: 40 Values: True False False False False False False False False True False False False False False False True True False False False False False False False False True False False False False False True False True False False False False False myBA4 Count: 5 Length: 5 Values: True False True True False myBA5 Count: 160 Length: 160 Values: False True True False False False False False False False False False False False False False False False False False False False False False False False False False False False False False True True True False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False True False False False False False False False False False False False False False False False False False False False False False False False False False False False False True False False True False False False False False False False False False False False False False False False False False False False False False False False False False False False False False True False True False False False False False False False False False False False False False False False False False False False False False False False False False False False False */
import System.*; import System.Collections.*; public class SamplesBitArray { public static void main(String[] args) { // Creates and initializes several BitArrays. BitArray myBA1 = new BitArray(5); BitArray myBA2 = new BitArray(5, false); ubyte myBytes[] = new ubyte[] { 1, 2, 3, 4, 5 }; BitArray myBA3 = new BitArray(myBytes); boolean myBools[] = new boolean[] { true, false, true, true, false }; BitArray myBA4 = new BitArray(myBools); int myInts[] = new int[] { 6, 7, 8, 9, 10 }; BitArray myBA5 = new BitArray(myInts); // Displays the properties and values of the BitArrays. Console.WriteLine("myBA1"); Console.WriteLine(" Count: {0}",(Int32)myBA1.get_Count()); Console.WriteLine(" Length: {0}",(Int32)myBA1.get_Length()); Console.WriteLine(" Values:"); PrintValues(myBA1, 8); Console.WriteLine("myBA2"); Console.WriteLine(" Count: {0}",(Int32)myBA2.get_Count()); Console.WriteLine(" Length: {0}",(Int32)myBA2.get_Length()); Console.WriteLine(" Values:"); PrintValues(myBA2, 8); Console.WriteLine("myBA3"); Console.WriteLine(" Count: {0}",(Int32)myBA3.get_Count()); Console.WriteLine(" Length: {0}", (Int32)myBA3.get_Length()); Console.WriteLine(" Values:"); PrintValues(myBA3, 8); Console.WriteLine("myBA4"); Console.WriteLine(" Count: {0}", (Int32)myBA4.get_Count()); Console.WriteLine(" Length: {0}", (Int32)myBA4.get_Length()); Console.WriteLine(" Values:"); PrintValues(myBA4, 8); Console.WriteLine("myBA5"); Console.WriteLine(" Count: {0}",(Int32)myBA5.get_Count()); Console.WriteLine(" Length: {0}", (Int32)myBA5.get_Length()); Console.WriteLine(" Values:"); PrintValues(myBA5, 8); } //main public static void PrintValues(IEnumerable myList, int myWidth) { int i = myWidth; IEnumerator objMyEnum = myList.GetEnumerator(); while (objMyEnum.MoveNext()) { Object obj = objMyEnum.get_Current(); if (i <= 0) { i = myWidth; Console.WriteLine(); } i--; Console.Write("{0,8}", obj); } Console.WriteLine(); } //PrintValues } //SamplesBitArray /* This code produces the following output. myBA1 Count: 5 Length: 5 Values: False False False False False myBA2 Count: 5 Length: 5 Values: False False False False False myBA3 Count: 40 Length: 40 Values: True False False False False False False False False True False False False False False False True True False False False False False False False False True False False False False False True False True False False False False False myBA4 Count: 5 Length: 5 Values: True False True True False myBA5 Count: 160 Length: 160 Values: False True True False False False False False False False False False False False False False False False False False False False False False False False False False False False False False True True True False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False True False False False False False False False False False False False False False False False False False False False False False False False False False False False False True False False True False False False False False False False False False False False False False False False False False False False False False False False False False False False False False True False True False False False False False False False False False False False False False False False False False False False False False False False False False False False False */

System.Collections.BitArray

この型の public static (Visual Basic では Shared) メンバは、スレッド セーフです。すべてのインスタンス メンバがスレッド セーフになるかどうかは保証されていません。
この実装には、BitArray 用の同期された (スレッド セーフな) ラッパーは用意されていません。
コレクションの列挙処理は、本質的にはスレッド セーフな処理ではありません。コレクションが同期されている場合でも、他のスレッドがそのコレクションを変更する可能性はあり、そのような状況が発生すると列挙子は例外をスローします。列挙処理を確実にスレッド セーフに行うには、列挙中にコレクションをロックするか、他のスレッドによって行われた変更によってスローされる例外をキャッチします。

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- BitArray クラスのページへのリンク