C#Enum忽略了名称的顺序

Nov*_*vak 1 c# enums

我有下一个对象:

private enum Operation
{
        Power = 0x5E,             // ^
        Division = 0x2F,          // /
        Multiplication = 0x2A,    // *
        Subtraction = 0x2D,      // -
        Addition = 0x2B           // +
}
Run Code Online (Sandbox Code Playgroud)

当我想以下一种char[]方式将其转换为a 时:

private static char[] GetOperators()
{
        List<char> ExistingOperators = new List<char>();

        foreach (Operation enumOperator in Enum.GetValues(typeof(Operation)))
        {
                ExistingOperators.Add((char)enumOperator);
                Console.WriteLine(enumOperator);
        }

        return ExistingOperators.ToArray<char>();
}
Run Code Online (Sandbox Code Playgroud)

它在控制台上写入枚举的值,但是从小到大排序.以上示例输出:

Multiplication
Addition
Subtraction
Divison
Power
Run Code Online (Sandbox Code Playgroud)

我想要实现的目标:(因此数组与enum声明的顺序相同)

char[] { '^', '/', '*', '*', '-', '*' };
Run Code Online (Sandbox Code Playgroud)

提前致谢.

sis*_*sve 5

数组的元素按枚举常量的二进制值(即无符号幅度)进行排序.

来源:http://msdn.microsoft.com/en-us/library/system.enum.getvalues.aspx