Given an arbitrary enumeration in C#, how do I select a random value?
(I did not find this very basic question on SO. I\'ll post my answer in a minute as reference f
Adapted as a Random class extension:
public static class RandomExtensions
{
public static T NextEnum(this Random random)
{
var values = Enum.GetValues(typeof(T));
return (T)values.GetValue(random.Next(values.Length));
}
}
Example of usage:
var random = new Random();
var myEnumRandom = random.NextEnum();