日期:2014-05-18  浏览次数:20981 次

怎么在enum中随机选一个?
我定义了个枚举类型,里面有上二百个元素,怎么能随机选取其中一个呢?

------解决方案--------------------
C# code
        enum TestEnum
        { 
            A,
            B,
            C,
            D,
            E,
            F
        }            Random ran = new Random();
            int c = Enum.GetNames(typeof(TestEnum)).Length;
            Console.WriteLine(Enum.GetName(typeof(TestEnum), ran.Next(c)));

------解决方案--------------------
//如下测试:
C# code

private enum TestEnum
{
    A,
    B,
    C,
    D,
    E,
    F
} 
    MessageBox.Show("TestEnum.A:"+((int)TestEnum.A).ToString()+"\n"
                +"0:" + ((TestEnum)0).ToString()+"\n"
                + "5:" + ((TestEnum)5).ToString()
                ,"提示");

------解决方案--------------------
觉得这样应该可以。

探讨
可以试试这么做,看看下面的文件,用GetEnumList<T>()方法,取出这个enum中全部信息

然后再做随机

http://www.cnblogs.com/zhongweiv/archive/2011/11/06/UseEnum.html