Использование Enum.GetValues
:
Orientation[] orientations = (Orientation[]) Enum.GetValues(typeof(Orientation));
Обратите внимание, что 0 является более обычным значением для None
, так как оно будет значением по умолчанию для любых экземпляров / статических полей типа Orientation
, а также начальных значений в массивах и т. Д.
РЕДАКТИРОВАТЬ: Enum.GetValues
задокументировано, чтобы возвращать значения, "отсортированные по двоичным значениям констант перечисления" - и я считаю, что он рассматривает их как значения без знака.
К счастью, на этот вопрос есть простой ответ:
Orientation[] orientations = (Orientation[]) Enum.GetValues(typeof(Orientation));
Array.Sort(orientations);