本文整理汇总了C#中BitArray.GetBitUnchecked方法的典型用法代码示例。如果您正苦于以下问题:C# BitArray.GetBitUnchecked方法的具体用法?C# BitArray.GetBitUnchecked怎么用?C# BitArray.GetBitUnchecked使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BitArray
的用法示例。
在下文中一共展示了BitArray.GetBitUnchecked方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BitArray
public void BitArray()
{
MemoryPoolTest.TestMemoryLeak();
Stopwatch sw1 = new Stopwatch();
Stopwatch sw2 = new Stopwatch();
Stopwatch sw3 = new Stopwatch();
Stopwatch sw4 = new Stopwatch();
Stopwatch sw5 = new Stopwatch();
Stopwatch sw6 = new Stopwatch();
const int count = 20 * 1024 * 1024;
//20 million, That's like 120GB of 64KB pages
BitArray array = new BitArray(false, count);
sw1.Start();
for (int x = 0; x < count; x++)
{
array.SetBit(x);
}
sw1.Stop();
sw2.Start();
for (int x = 0; x < count; x++)
{
array.SetBit(x);
}
sw2.Stop();
sw3.Start();
for (int x = 0; x < count; x++)
{
array.ClearBit(x);
}
sw3.Stop();
sw4.Start();
for (int x = 0; x < count; x++)
{
array.ClearBit(x);
}
sw4.Stop();
sw5.Start();
for (int x = 0; x < count; x++)
{
if (array.GetBitUnchecked(x))
throw new Exception();
}
sw5.Stop();
//for (int x = 0; x < count -1; x++)
//{
// array.SetBit(x);
//}
sw6.Start();
for (int x = 0; x < count; x++)
{
array.SetBit(array.FindClearedBit());
}
sw6.Stop();
System.Console.WriteLine("Set Bits: " + (count / sw1.Elapsed.TotalSeconds / 1000000).ToString("0.0 MPP"));
System.Console.WriteLine("Set Bits Again: " + (count / sw2.Elapsed.TotalSeconds / 1000000).ToString("0.0 MPP"));
System.Console.WriteLine("Clear Bits: " + (count / sw3.Elapsed.TotalSeconds / 1000000).ToString("0.0 MPP"));
System.Console.WriteLine("Clear Bits Again: " + (count / sw4.Elapsed.TotalSeconds / 1000000).ToString("0.0 MPP"));
System.Console.WriteLine("Get Bits: " + (count / sw5.Elapsed.TotalSeconds / 1000000).ToString("0.0 MPP"));
System.Console.WriteLine("Find Cleared Bit (All bits cleared): " + (count / sw6.Elapsed.TotalSeconds / 1000000).ToString("0.0 MPP"));
MemoryPoolTest.TestMemoryLeak();
}
示例2: GetSetBits
public void GetSetBits()
{
BitArray array = new BitArray(false, 15);
for (int x = 0; x < 15; x++)
{
if (array[x])
throw new Exception();
}
for (int x = 0; x < 15; x++)
{
if (array.GetBitUnchecked(x))
throw new Exception();
}
array[1] = true;
if(array.TrySetBit(1))
throw new Exception();
if (!array.TrySetBit(2))
throw new Exception();
if (array.TrySetBit(2))
throw new Exception();
if (!array.TryClearBit(2))
throw new Exception();
if (array.TryClearBit(2))
throw new Exception();
//Here, bit 1 is set.
if (!array.AreAllBitsSet(1,1))
throw new Exception();
if (array.AreAllBitsSet(1,3))
throw new Exception();
if (!array.AreAllBitsCleared(2,8))
throw new Exception();
if (array.AreAllBitsCleared(0, 8))
throw new Exception();
array.SetBits(1,8);
if (!array.AreAllBitsSet(1,8))
throw new Exception();
array.ClearBits(1, 8);
if (!array.AreAllBitsCleared(1, 8))
throw new Exception();
array.EnsureCapacity(62);
if (!array.AreAllBitsCleared(1, 8))
throw new Exception();
array.EnsureCapacity(1000);
if (!array.AreAllBitsCleared(62, 500))
throw new Exception();
}