我正在尝试进行一个简短的模拟,其中我需要一个小的位数组,并且我选择了 System.Collections.Specialized.BitVector32。
我在单线程对象内运行它,在单线程循环中运行大约 1,000,000 次,每次针对索引 {0,1,2}。
这是代码:
private System.Collections.Specialized.BitVector32 currentCalc
= new System.Collections.Specialized.BitVector32();
private void storeInCurrent(int idx, bool val)
{
currentCalc[idx] = val;
if (currentCalc[idx] != val)
{
throw new Exception("Inconceivable!");
}
}
Run Code Online (Sandbox Code Playgroud)
据我了解,不应该抛出异常,但有时确实会抛出异常!异常并不是每次都会抛出,但抛出的比例相当高 - 持续 1/6 的时间!(这更奇怪)
我究竟做错了什么?
c# ×1