C#中的BitArray类

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