C # - все ли константы Enum? - PullRequest
10 голосов
/ 02 января 2009

Все ли перечислимые константы являются константами? Получают ли они в свои значения во время компиляции или во время выполнения?

Ответы [ 2 ]

17 голосов
/ 02 января 2009

Они постоянны. Да, время компиляции.

Ссылка: http://msdn.microsoft.com/en-us/library/sbbt4032.aspx

Из вступления:

Ключевое слово enum используется для объявления перечисление, особый тип, который состоит из набора именованных констант вызывается список перечислителей.

В разделе «Надежное программирование»:

Так же, как и с любой константой, все ссылки на отдельные значения перечисление преобразуется в числовое литералы во время компиляции . Это может создать потенциальные проблемы с версиями, как описано в константах (программирование на C # Guide).

7 голосов
/ 02 января 2009

Перечисляемые значения являются константами, они не могут изменяться.

Их значения фиксируются во время компиляции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...