C # Enum Обратное индексирование - PullRequest
2 голосов
/ 02 августа 2011

Есть ли способ использовать целочисленный индекс для возврата соответствующего значения из перечисления? Например, если есть перечисление Color {Red, Green, Blue), есть ли функция, которая для значения 0 вернет Red, 1 вернет Green, а 2 вернет Blue?

Ответы [ 4 ]

6 голосов
/ 02 августа 2011

Метод Enum.GetName: http://msdn.microsoft.com/en-us/library/system.enum.getname.aspx

Используя ваш пример,

Console.WriteLine(Enum.GetName(typeof(Color), 1));

принты "Зеленый"

3 голосов
/ 02 августа 2011

Вы можете привести ваше целочисленное значение к перечислению.

Color c = (Color)0; //Color.Red
1 голос
/ 02 августа 2011
string color = ((Color)1).ToString(); //color is "Green"

Используйте метод Enum.ToString ().

http://msdn.microsoft.com/en-us/library/16c1xs4z.aspx

0 голосов
/ 02 августа 2011

Это клёво, но ...

String Day = Enum.GetName(typeof(DayOfWeek), 3);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...