Sets all bits in the BitArray to the specified value.
Assembly: mscorlib (in mscorlib.dll)
Public Sub SetAll ( _ value As Boolean _ )
public void SetAll( bool value )
public: void SetAll( bool value )
member SetAll : value:bool -> unit
Parameters
- value
- Type: System.Boolean
The Boolean value to assign to all bits.
This method is an O(n) operation, where n is Count.
The following code example shows how to set and get specific elements in a BitArray.
Imports System Imports System.Collections Imports Microsoft.VisualBasic Public Class SamplesBitArray Public Shared Sub Main() ' Creates and initializes a BitArray. Dim myBA As New BitArray(5) ' Displays the properties and values of the BitArray. Console.WriteLine("myBA values:") PrintIndexAndValues(myBA) ' Sets all the elements to true. myBA.SetAll(True) ' Displays the properties and values of the BitArray. Console.WriteLine("After setting all elements to true,") PrintIndexAndValues(myBA) ' Sets the last index to false. myBA.Set(myBA.Count - 1, False) ' Displays the properties and values of the BitArray. Console.WriteLine("After setting the last element to false,") PrintIndexAndValues(myBA) ' Gets the value of the last two elements. Console.WriteLine("The last two elements are: ") Console.WriteLine(" at index {0} : {1}", _ myBA.Count - 2, myBA.Get(myBA.Count - 2)) Console.WriteLine(" at index {0} : {1}", _ myBA.Count - 1, myBA.Get(myBA.Count - 1)) End Sub 'Main Public Shared Sub PrintIndexAndValues(myCol As IEnumerable) Dim i As Integer Dim obj As Object i = 0 For Each obj In myCol Console.WriteLine(" [{0}]: {1}", i, obj) i = i + 1 Next obj Console.WriteLine() End Sub 'PrintValues End Class ' This code produces the following output. ' ' myBA values: ' [0]: False ' [1]: False ' [2]: False ' [3]: False ' [4]: False ' ' After setting all elements to true, ' [0]: True ' [1]: True ' [2]: True ' [3]: True ' [4]: True ' ' After setting the last element to false, ' [0]: True ' [1]: True ' [2]: True ' [3]: True ' [4]: False ' ' The last two elements are: ' at index 3 : True ' at index 4 : False
using System; using System.Collections; public class SamplesBitArray { public static void Main() { // Creates and initializes a BitArray. BitArray myBA = new BitArray( 5 ); // Displays the properties and values of the BitArray. Console.WriteLine( "myBA values:" ); PrintIndexAndValues( myBA ); // Sets all the elements to true. myBA.SetAll( true ); // Displays the properties and values of the BitArray. Console.WriteLine( "After setting all elements to true," ); PrintIndexAndValues( myBA ); // Sets the last index to false. myBA.Set( myBA.Count - 1, false ); // Displays the properties and values of the BitArray. Console.WriteLine( "After setting the last element to false," ); PrintIndexAndValues( myBA ); // Gets the value of the last two elements. Console.WriteLine( "The last two elements are: " ); Console.WriteLine( " at index {0} : {1}", myBA.Count - 2, myBA.Get( myBA.Count - 2 ) ); Console.WriteLine( " at index {0} : {1}", myBA.Count - 1, myBA.Get( myBA.Count - 1 ) ); } public static void PrintIndexAndValues( IEnumerable myCol ) { int i = 0; foreach ( Object obj in myCol ) { Console.WriteLine( " [{0}]: {1}", i++, obj ); } Console.WriteLine(); } } /* This code produces the following output. myBA values: [0]: False [1]: False [2]: False [3]: False [4]: False After setting all elements to true, [0]: True [1]: True [2]: True [3]: True [4]: True After setting the last element to false, [0]: True [1]: True [2]: True [3]: True [4]: False The last two elements are: at index 3 : True at index 4 : False */
using namespace System; using namespace System::Collections; void PrintIndexAndValues( IEnumerable^ myCol ); int main() { // Creates and initializes a BitArray. BitArray^ myBA = gcnew BitArray( 5 ); // Displays the properties and values of the BitArray. Console::WriteLine( "myBA values:" ); PrintIndexAndValues( myBA ); // Sets all the elements to true. myBA->SetAll( true ); // Displays the properties and values of the BitArray. Console::WriteLine( "After setting all elements to true," ); PrintIndexAndValues( myBA ); // Sets the last index to false. myBA->Set( myBA->Count - 1, false ); // Displays the properties and values of the BitArray. Console::WriteLine( "After setting the last element to false," ); PrintIndexAndValues( myBA ); // Gets the value of the last two elements. Console::WriteLine( "The last two elements are: " ); Console::WriteLine( " at index {0} : {1}", myBA->Count - 2, myBA->Get( myBA->Count - 2 ) ); Console::WriteLine( " at index {0} : {1}", myBA->Count - 1, myBA->Get( myBA->Count - 1 ) ); } void PrintIndexAndValues( IEnumerable^ myCol ) { int i = 0; IEnumerator^ myEnum = myCol->GetEnumerator(); while ( myEnum->MoveNext() ) { Object^ obj = safe_cast<Object^>(myEnum->Current); Console::WriteLine( " [{0}]: {1}", i++, obj ); } Console::WriteLine(); } /* This code produces the following output. myBA values: [0]: False [1]: False [2]: False [3]: False [4]: False After setting all elements to true, [0]: True [1]: True [2]: True [3]: True [4]: True After setting the last element to false, [0]: True [1]: True [2]: True [3]: True [4]: False The last two elements are: at index 3 : True at index 4 : False */
.NET Framework
Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0.NET Framework Client Profile
Supported in: 4, 3.5 SP1Portable Class Library
Supported in: Portable Class LibraryWindows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Reference
If you have a BitArray with a length of let's say 7 and you use the method SetAll( true ) you would expect 127 when converted to a Decimal but you would get -1 which is the value for a length of 32. Same happens when invoking the constructor with new BitArray( 7, true );
One Workaround =
BitArray bitArray = new BitArray();
bitArray.Length = 7;
for ( int i = 0; i < bitArray.Length; i++ )
{
bitsArray = true;
}