当有人想要/需要在.NET中使用BitArray类时,有人能给我一个真实世界的例子吗?

4 .net

我理解如何使用BitArray类,但我正在寻找一个可以将它用于真实世界程序的实例.

Jar*_*Par 6

BitArray我见过的最有效的用法是将它用作bool大小敏感类中一组值的后备存储.

class Example { 
  private BitArray _data = new BitArray(...);
  public bool Value0 { 
    get { return _data.Get(0); }
    set { _data.Set(0,value); }
  }
  public bool Value1 {
    get { return _data.Get(1); }
    set { _data.Set(1,value); }
  }
  ...
Run Code Online (Sandbox Code Playgroud)

对上面的每个字段使用后备"bool"会产生每个属性1个字节的开销.在最佳情况下,使用a BitArray可能将每个属性的开销减少到1位.这对于某些特定情况可能很重要.

注意:当我说上面有效时,我指的是这种类型的大小的敏感性没有猜到但实际测量并证明是重要的情况.