как перебрать это перечисление дает все значения от нуля до запада - PullRequest
1 голос
/ 28 октября 2010
enum Orientation
{
    None = -1,
    North = 0,
    East = 1,
    South = 2,
    West = 3
}

как итерировать это перечисление дает все значения от нуля до запада

1 Ответ

2 голосов
/ 28 октября 2010

Использование Enum.GetValues:

Orientation[] orientations = (Orientation[]) Enum.GetValues(typeof(Orientation));

Обратите внимание, что 0 является более обычным значением для None, так как оно будет значением по умолчанию для любых экземпляров / статических полей типа Orientation, а также начальных значений в массивах и т. Д.

РЕДАКТИРОВАТЬ: Enum.GetValues задокументировано, чтобы возвращать значения, "отсортированные по двоичным значениям констант перечисления" - и я считаю, что он рассматривает их как значения без знака.

К счастью, на этот вопрос есть простой ответ:

Orientation[] orientations = (Orientation[]) Enum.GetValues(typeof(Orientation));
Array.Sort(orientations);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...