.net framework博大精深,本系列文章旨在挖掘一些.net内部类的实现以及一些未公布出来的类,借此为类设计乃至framework设计积累经验。笔者本身主要从事asp.net+c#的工作,故先把精力放在system.web namespace,本文是学习control类的副产品和预备知识.
SimpleBitVector32结构
32位的位标志
使用方法:
SimpleBitVector32 sbv = new SimpleBitVector32();
//判断第n位是否为真
int n = 7;
if(sbv[Math.Power(2,n)])
{
.
.
.
}
设置第n位;
int n = 7;
sbv[Math.Pow(2,n)] = true;
SimpleBitVector32结构实现:
struct SimpleBitVector32
{
private int data;
public int Data
{
get
{
return data;
}
}
public bool this[int bit]
{
get
{
return ((data& bit) == bit);
}
set
{
if (value)
{
this.data |= bit;
return;
}
this.data &= ~bit;
}
}
}