.NET Framework Class Library
BitArray.Or Method
Namespace:
System.Collections
Assembly: mscorlib (in mscorlib.dll)
Syntax
Visual Basic
Public Function Or ( _ value As BitArray _ ) As BitArray
C#
public BitArray Or(
BitArray value
)
Visual C++
public:
BitArray^ Or(
BitArray^ value
)
F#
member Or :
value:BitArray -> BitArray
Parameters
- value
- Type: System.Collections.BitArray
The BitArray with which to perform the bitwise OR operation.
Return Value
Type: System.Collections.BitArrayThe current instance containing the result of the bitwise OR operation on the elements in the current BitArray against the corresponding elements in the specified BitArray.
Exceptions
| Exception | Condition |
|---|---|
| ArgumentNullException |
value is null. |
| ArgumentException |
value and the current BitArray do not have the same number of elements. |
Remarks
The bitwise OR operation returns true if one or both operands are true, and returns false if both operands are false.
This method is an O(n) operation, where n is Count.
Examples
The following code example shows how to apply OR to two BitArray instances.
Visual Basic
Imports System Imports System.Collections Imports Microsoft.VisualBasic Public Class SamplesBitArray Public Shared Sub Main() ' Creates and initializes two BitArrays of the same size. Dim myBA1 As New BitArray(4) Dim myBA2 As New BitArray(4) myBA1(0) = False myBA1(1) = False myBA1(2) = True myBA1(3) = True myBA2(0) = False myBA2(2) = False myBA2(1) = True myBA2(3) = True ' Performs a bitwise OR operation between BitArray instances of the same size. Console.WriteLine("Initial values") Console.Write("myBA1:") PrintValues(myBA1, 8) Console.Write("myBA2:") PrintValues(myBA2, 8) Console.WriteLine() Console.WriteLine("Result") Console.Write("OR:") PrintValues(myBA1.Or(myBA2), 8) Console.WriteLine() Console.WriteLine("After OR") Console.Write("myBA1:") PrintValues(myBA1, 8) Console.Write("myBA2:") PrintValues(myBA2, 8) Console.WriteLine() ' Performing OR between BitArray instances of different sizes returns an exception. Try Dim myBA3 As New BitArray(8) myBA3(0) = False myBA3(1) = False myBA3(2) = False myBA3(3) = False myBA3(4) = True myBA3(5) = True myBA3(6) = True myBA3(7) = True myBA1.Or(myBA3) Catch myException As Exception Console.WriteLine("Exception: " + myException.ToString()) End Try End Sub 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 ' This code produces the following output. ' ' Initial values ' myBA1: False False True True ' myBA2: False True False True ' ' Result ' OR: False True True True ' ' After OR ' myBA1: False True True True ' myBA2: False True False True ' ' Exception: System.ArgumentException: Array lengths must be the same. ' at System.Collections.BitArray.Or(BitArray value) ' at SamplesBitArray.Main()
C#
using System; using System.Collections; public class SamplesBitArray { public static void Main() { // Creates and initializes two BitArrays of the same size. BitArray myBA1 = new BitArray( 4 ); BitArray myBA2 = new BitArray( 4 ); myBA1[0] = myBA1[1] = false; myBA1[2] = myBA1[3] = true; myBA2[0] = myBA2[2] = false; myBA2[1] = myBA2[3] = true; // Performs a bitwise OR operation between BitArray instances of the same size. Console.WriteLine( "Initial values" ); Console.Write( "myBA1:" ); PrintValues( myBA1, 8 ); Console.Write( "myBA2:" ); PrintValues( myBA2, 8 ); Console.WriteLine(); Console.WriteLine( "Result" ); Console.Write( "OR:" ); PrintValues( myBA1.Or( myBA2 ), 8 ); Console.WriteLine(); Console.WriteLine( "After OR" ); Console.Write( "myBA1:" ); PrintValues( myBA1, 8 ); Console.Write( "myBA2:" ); PrintValues( myBA2, 8 ); Console.WriteLine(); // Performing OR between BitArray instances of different sizes returns an exception. try { BitArray myBA3 = new BitArray( 8 ); myBA3[0] = myBA3[1] = myBA3[2] = myBA3[3] = false; myBA3[4] = myBA3[5] = myBA3[6] = myBA3[7] = true; myBA1.Or( myBA3 ); } catch ( Exception myException ) { Console.WriteLine("Exception: " + myException.ToString()); } } 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. Initial values myBA1: False False True True myBA2: False True False True Result OR: False True True True After OR myBA1: False True True True myBA2: False True False True Exception: System.ArgumentException: Array lengths must be the same. at System.Collections.BitArray.Or(BitArray value) at SamplesBitArray.Main() */
Visual C++
using namespace System; using namespace System::Collections; void PrintValues( IEnumerable^ myList, int myWidth ); int main() { // Creates and initializes two BitArrays of the same size. BitArray^ myBA1 = gcnew BitArray( 4 ); BitArray^ myBA2 = gcnew BitArray( 4 ); myBA1[ 0 ] = false; myBA1[ 1 ] = false; myBA1[ 2 ] = true; myBA1[ 3 ] = true; myBA2[ 0 ] = false; myBA2[ 1 ] = true; myBA2[ 2 ] = false; myBA2[ 3 ] = true; // Performs a bitwise OR operation between BitArray instances of the same size. Console::WriteLine( "Initial values" ); Console::Write( "myBA1:" ); PrintValues( myBA1, 8 ); Console::Write( "myBA2:" ); PrintValues( myBA2, 8 ); Console::WriteLine(); Console::WriteLine( "Result" ); Console::Write( "OR:" ); PrintValues( myBA1->Or( myBA2 ), 8 ); Console::WriteLine(); Console::WriteLine( "After OR" ); Console::Write( "myBA1:" ); PrintValues( myBA1, 8 ); Console::Write( "myBA2:" ); PrintValues( myBA2, 8 ); Console::WriteLine(); // Performing OR between BitArray instances of different sizes returns an exception. try { BitArray^ myBA3 = gcnew BitArray( 8 ); myBA3[ 0 ] = false; myBA3[ 1 ] = false; myBA3[ 2 ] = false; myBA3[ 3 ] = false; myBA3[ 4 ] = true; myBA3[ 5 ] = true; myBA3[ 6 ] = true; myBA3[ 7 ] = true; myBA1->Or( myBA3 ); } catch ( Exception^ myException ) { Console::WriteLine( "Exception: {0}", myException ); } } 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. Initial values myBA1: False False True True myBA2: False True False True Result OR: False True True True After OR myBA1: False True True True myBA2: False True False True Exception: System.ArgumentException: Array lengths must be the same. at System.Collections.BitArray.Or(BitArray value) at SamplesBitArray.Main() */
Version Information
.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 LibraryPlatforms
Windows 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.
See Also