enum Orientation
{
None = -1,
North = 0,
East = 1,
South = 2,
West = 3
}
如何迭代此枚举,将所有值从无到西
答案 0 :(得分:2)
Orientation[] orientations = (Orientation[]) Enum.GetValues(typeof(Orientation));
请注意,0是None
的更常规值,因为它将是Orientation
类型的任何实例/静态字段的默认值,以及数组中的初始值等。
编辑:Enum.GetValues
被记录为返回“按枚举常量的二进制值排序”的值 - 我相信它将它们视为无符号值。
幸运的是,有一个简单的答案:
Orientation[] orientations = (Orientation[]) Enum.GetValues(typeof(Orientation));
Array.Sort(orientations);