BitArray类管理一个紧凑的位值数组,这些值表示为布尔值,其中true表示该位为开(1),false表示该位为关。
下表列出了BitArray类的一些常用方法-
序号 | 方法与说明 |
---|---|
1 | 公共BitArray And(BitArray值); 对当前BitArray中的元素与指定BitArray中的相应元素执行按位与运算。 |
2 | 公共布尔Get(int index); 获取BitArray中特定位置的位的值。 |
3 | 公共BitArray Not() ; 反转当前BitArray中的所有位值,以便将设置为true的元素更改为false,并将设置为false的元素更改为true。 |
4 | 公共BitArray或(BitArray值); 对当前BitArray中的元素与指定BitArray中的相应元素执行按位或运算。 |
5 | 公共无效集(int索引,布尔值); 将BitArray中特定位置的位设置为指定值。 |
6 | 公共无效SetAll(布尔值); 将BitArray中的所有位设置为指定值。 |
7 | 公共BitArray Xor(BitArray值); 对当前BitArray中的元素与指定BitArray中的相应元素执行按位异或运算。 |
现在让我们看一个例子-
using System; using System.Collections; public class Demo { public static void Main(){ BitArray arr1 = new BitArray(2); BitArray arr2 = new BitArray(2); arr1[0] = false; arr1[1] = true; Console.WriteLine("Elements in BitArray1..."); foreach (bool res in arr1){ Console.WriteLine(res); } arr2[0] = false; arr2[1] = true; Console.WriteLine("Elements in BitArray2..."); foreach (bool res in arr2){ Console.WriteLine(res); } Console.WriteLine("Is BitArray1 equal to BitArray2? = "+arr2.Equals(arr1)); Console.WriteLine("Is BitArray synchronized? = "+arr2.IsSynchronized); Console.WriteLine("Is BitArray read-only? = "+arr2.IsReadOnly); } }
输出结果
这将产生以下输出-
Elements in BitArray1... False True Elements in BitArray2... False True Is BitArray1 equal to BitArray2? = False Is BitArray synchronized? = False Is BitArray read-only? = False
我们来看另一个在BitArray元素之间实现按位异或运算的示例-
using System; using System.Collections; public class Demo { public static void Main(){ BitArray arr1 = new BitArray(5); BitArray arr2 = new BitArray(5); arr1[0] = false; arr1[1] = false; arr2[0] = false; arr2[1] = true; Console.WriteLine("BitArray1 elements..."); foreach (bool res in arr1){ Console.WriteLine(res); } Console.WriteLine("\nBitArray2 elements..."); foreach (bool res in arr2){ Console.WriteLine(res); } Console.WriteLine("\nBitwise exclusive OR operation..."); IEnumerable demoEnum = arr1.Xor(arr2); foreach(Object ob in demoEnum){ Console.WriteLine(ob); } } }
输出结果
这将产生以下输出-
BitArray1 elements... False False False False False BitArray2 elements... False True False False False Bitwise exclusive OR operation... False True False False False