使用.net下的enum,你可以使用的最大数字是ULong.
这意味着最多64个标志.
当你需要超过64个标志时,会有什么选择?
编辑
对不起,我忘了添加这个,替代方案仍然可以使用按位操作 至少这一个; 和和或.
使用Josh Einstein的建议,我想出了这个,它有意义吗?
class bitArrayFlag
{
private const int flagSize = 255; //allow X numbers of flags
public BitArray flag1;
public BitArray flag2;
public BitArray flagN;
public bitArrayFlag()
{
int flagPos = 0;
bool[] flagBit = new bool[flagSize];
flagBit[flagPos] = true;
flag1 = new BitArray(flagBit);
flagBit[flagPos] = false;
flagPos += 1;
flagBit[flagPos] = true;
flag2 = new BitArray(flagBit);
//...
//...
//...
flagBit[flagPos] = false;
flagPos += …Run Code Online (Sandbox Code Playgroud) .net ×1