Angenommen, ich habe eine Funktion, die eine mit dem Flags-Attribut versehene Aufzählung akzeptiert. Wenn der Wert der Enumeration eine Kombination aus mehr als einem der Enumerationselemente ist, wie kann ich eines dieser Elemente zufällig extrahieren? Ich habe das Folgende, aber es scheint, dass es einen besseren Weg geben muss.Zufälliger Wert von Flags enum
[Flags]
enum Colours
{
Blue = 1,
Red = 2,
Green = 4
}
public static void Main()
{
var options = Colours.Blue | Colours.Red | Colours.Green;
var opts = options.ToString().Split(',');
var rand = new Random();
var selected = opts[rand.Next(opts.Length)].Trim();
var myEnum = Enum.Parse(typeof(Colours), selected);
Console.WriteLine(myEnum);
Console.ReadLine();
}
ich einen zufälligen Wert von nur einer Teilmenge der ENUM durch eine definierte möchten bitweise Kombination wie "Blau | Rot". Tut mir leid, dass ich nicht klarer bin. –