Я заполняю DropDownList
в MVC 4 из enum
, и я хочу заказать значения перечисления от самого большого до наименьшего. Однако, похоже, нет прямого подхода к этому. В настоящее время я использую этот код для добавления в словарь с ключом, являющимся идентификатором, а значение - отображаемым текстом:
var priorities = Enum.GetValues(typeof(Models.Priority)).OfType<Models.Priority>().ToList();
for (int i = priorities.Count - 1; i >= 0; i--)
{
Models.Priority priority = priorities[i];
prioritiesDictionary.Add((int)priority, "Priority " + ((int)priority).ToString());
}
Я не верю, что внесение значений enum в список и обратный цикл назад является наиболее эффективным методом. В перечислении всего четыре значения, но есть ли лучший способ выполнить операцию OrderBy
для того, что возвращается из Enum.GetValues
? Я знаю, что это может быть минимальным эффектом, влияющим на то, как я это делаю, но я хочу знать для больших перечислений.