在C#中,没有内置的BitSet类,但是你可以使用BitArray
类来执行位运算
System.Collections
命名空间。BitArray
实例。BitArray
的方法和属性执行位运算。下面是一个简单的示例,展示了如何使用BitArray
进行位运算:
using System;
using System.Collections;
class BitSetExample
{
static void Main()
{
// 创建两个BitArray实例
BitArray bitArray1 = new BitArray(new byte[] { 0b11001100 });
BitArray bitArray2 = new BitArray(new byte[] { 0b10101010 });
// 打印原始BitArray
Console.WriteLine("BitArray1: " + ToBinaryString(bitArray1));
Console.WriteLine("BitArray2: " + ToBinaryString(bitArray2));
// 执行按位与运算
bitArray1.And(bitArray2);
Console.WriteLine("BitArray1 AND BitArray2: " + ToBinaryString(bitArray1));
// 执行按位或运算
bitArray1.Or(bitArray2);
Console.WriteLine("BitArray1 OR BitArray2: " + ToBinaryString(bitArray1));
// 执行按位异或运算
bitArray1.Xor(bitArray2);
Console.WriteLine("BitArray1 XOR BitArray2: " + ToBinaryString(bitArray1));
// 执行按位非运算
bitArray1.Not();
Console.WriteLine("NOT BitArray1: " + ToBinaryString(bitArray1));
}
// 将BitArray转换为二进制字符串
static string ToBinaryString(BitArray bitArray)
{
StringBuilder sb = new StringBuilder();
foreach (bool bit in bitArray)
{
sb.Append(bit ? '1' : '0');
}
return sb.ToString();
}
}
这个示例首先创建了两个BitArray
实例,然后执行了按位与、按位或、按位异或和按位非运算。最后,使用ToBinaryString
方法将BitArray
转换为二进制字符串,以便于查看结果。