tmfc's .net Undocumented (1) SimpleBitVector struct

.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;
}
}
}

Published At
Categories with Web编程
Tagged with
comments powered by Disqus