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