我想建立一組枚舉選擇傳遞給另一個方法的參數。讓我們假設你有枚舉富,規定如下:使用布爾結果,添加到枚舉作爲參數傳遞?
public enum Foo
{
x,
y,
z
}
現在,我通過一些複選框選擇要循環,每個指定是否X,Y或Z選擇。
bool allowX = chkBxAllowX.Checked;
bool allowY = chkBxAllowY.Checked;
bool allowZ = allowZ.Checked;
之後,我必須建立的選擇通過爲富枚舉類型。我知道我可以通過使用「|」指定多個枚舉值字符,但是如何根據其他值(即上述布爾值?)來做到這一點。所以,如果allowX,添加Foo.x,如果allowY,指定添加Foo.y.如果allowX和allowY,Foo.x和Foo.y.
如果您想要將它們組合起來,您仍然需要將您的值定義爲2的冪。就像現在一樣,Z == X&Y –
@MattBurland:的確如此。打字太快了。修正並添加示例。感謝您的反饋。 –
你可以移位它們,這很好: X = 2 << 0,Y = 2 << 1,Z = 2 << 2等等 – astallaslions