在C#中,沒(méi)有內(nèi)置的BitSet類(lèi),但是你可以使用BitArray
類(lèi)來(lái)執(zhí)行位運(yùn)算
System.Collections
命名空間。BitArray
實(shí)例。BitArray
的方法和屬性執(zhí)行位運(yùn)算。下面是一個(gè)簡(jiǎn)單的示例,展示了如何使用BitArray
進(jìn)行位運(yùn)算:
using System;
using System.Collections;
class BitSetExample
{
static void Main()
{
// 創(chuàng)建兩個(gè)BitArray實(shí)例
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));
// 執(zhí)行按位與運(yùn)算
bitArray1.And(bitArray2);
Console.WriteLine("BitArray1 AND BitArray2: " + ToBinaryString(bitArray1));
// 執(zhí)行按位或運(yùn)算
bitArray1.Or(bitArray2);
Console.WriteLine("BitArray1 OR BitArray2: " + ToBinaryString(bitArray1));
// 執(zhí)行按位異或運(yùn)算
bitArray1.Xor(bitArray2);
Console.WriteLine("BitArray1 XOR BitArray2: " + ToBinaryString(bitArray1));
// 執(zhí)行按位非運(yùn)算
bitArray1.Not();
Console.WriteLine("NOT BitArray1: " + ToBinaryString(bitArray1));
}
// 將BitArray轉(zhuǎn)換為二進(jìn)制字符串
static string ToBinaryString(BitArray bitArray)
{
StringBuilder sb = new StringBuilder();
foreach (bool bit in bitArray)
{
sb.Append(bit ? '1' : '0');
}
return sb.ToString();
}
}
這個(gè)示例首先創(chuàng)建了兩個(gè)BitArray
實(shí)例,然后執(zhí)行了按位與、按位或、按位異或和按位非運(yùn)算。最后,使用ToBinaryString
方法將BitArray
轉(zhuǎn)換為二進(jìn)制字符串,以便于查看結(jié)果。