CSharp · Console
using System;
[Flags]
public enum DayOfWeek
{
Sunday = 1 << 0,
Monday = 1 << 1,
Tuesday = 1 << 2,
Wednesday = 1 << 3,
Thursday = 1 << 4,
Friday = 1 << 5,
Saturday = 1 << 6
};
static class EnumerationExtension
{
private static System.Random R { get; set; } = new System.Random();
public static Enum Random(this Enum enumeration)
{
var type = enumeration.GetType();
var strs = enumeration.ToString().Split(", ");
var index = R.Next(strs.Length);
return (Enum)Enum.Parse(type, strs[index]);
}
}
public class Program
{
public static void Main()
{
var mwf = DayOfWeek.Monday | DayOfWeek.Wednesday | DayOfWeek.Friday;
Console.WriteLine($"Chosen days: {mwf}");
for (int i = 0; i < 10; ++i)
Console.WriteLine($"Random day: {mwf.Random()}");
}
}