enum .net에서 사용할 수있는 가장 큰 숫자는 ULong입니다.
최대 64 개의 플래그를 의미합니다.플래그 (열거 형)를 사용할 때 한계는 64입니다. 한도에 도달하면 대안은 무엇입니까?
64 개 이상의 플래그가 필요할 때 대체 방법은 무엇입니까?
편집이
미안 해요, 난이 추가 깜빡 여전히 비트 연산 이상이 하나를 작동 할 대안; 및 및 또는이다.
조쉬 아인슈타인 제안을 사용하면이 점이 마음에 듭니까?
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 += 1;
flagBit[flagPos] = true;
flagN = new BitArray(flagBit);
}
}
재 설계? 그 많은 깃발은 지나치게 복잡하게 들립니다. –
지금까지 31 개 플래그 만 가지고 있지만 필요할 경우 백업 계획을 준비하고 싶습니다. – Fredou
YAGNI가 마음에 듭니다. 당신이 가진 문제에 집중하십시오. –