BitArray.Or Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Performs the bitwise OR operation on the elements in the current BitArray against the corresponding elements in the specified BitArray.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- value
- Type: System.Collections.BitArray
The BitArray with which to perform the bitwise OR operation.
Return Value
Type: System.Collections.BitArrayA BitArray containing the result of the bitwise OR operation on the elements in the current BitArray against the corresponding elements in the specified BitArray.
| Exception | Condition |
|---|---|
| ArgumentNullException | value is null. |
| ArgumentException | value and the current BitArray do not have the same number of elements. |
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.
The following code example shows how to apply OR to two BitArray instances.
using System; using System.Collections; public class Example { public static void Demo(System.Windows.Controls.TextBlock outputBlock) { // 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. outputBlock.Text += "Initial values" + "\n"; outputBlock.Text += "myBA1:"; PrintValues(outputBlock, myBA1, 8); outputBlock.Text += "myBA2:"; PrintValues(outputBlock, myBA2, 8); outputBlock.Text += "\n"; outputBlock.Text += "Result" + "\n"; outputBlock.Text += "OR:"; PrintValues(outputBlock, myBA1.Or(myBA2), 8); outputBlock.Text += "\n"; outputBlock.Text += "After OR" + "\n"; outputBlock.Text += "myBA1:"; PrintValues(outputBlock, myBA1, 8); outputBlock.Text += "myBA2:"; PrintValues(outputBlock, myBA2, 8); outputBlock.Text += "\n"; // 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) { outputBlock.Text += "Exception: " + myException.ToString() + "\n"; } } public static void PrintValues(System.Windows.Controls.TextBlock outputBlock, IEnumerable myList, int myWidth) { int i = myWidth; foreach (Object obj in myList) { if (i <= 0) { i = myWidth; outputBlock.Text += "\n"; } i--; outputBlock.Text += String.Format("{0,8}", obj); } outputBlock.Text += "\n"; } } /* 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() */