如何随机选择真正的旗帜枚举?

时间:2015-07-30 20:33:34

标签: c# enum-flags bitflags

如何随机选择真正的旗帜?

我想编写一个接收枚举标志的代码,并只返回一个枚举。但是返回的枚举应该是真的。

[Flags]
public enum CharType
{
    Number = 0x0,
    Upper = 0x1,
    Lower = 0x2
}

public char getRandom(CharType charType)
{
    ???
}

示例:https://gist.github.com/YitzhakStone/85ad617110d085c8f2f4

1 个答案:

答案 0 :(得分:1)

Random rnd = new Random();
public CharType CharTypeGenerator() 
{ 
    return (CharType)rnd.Next(0,3);
}

修改

  

我只有在旗帜为真时才需要返回

你的问题仍然不明确......

public bool CharGenerator(CharType charType) 
{ 
    return (CharType)rnd.Next(0,3)==charType;
}

或者

public bool CharGenerator(CharType charType) 
{
    return charType.HasFlag( (CharType)rnd.Next(0, 3) );
}