Вам не нужно, это подразумевается. Согласно MSDN :
Перечисление - это набор именованных констант, базовым типом которых является любой целочисленный тип, кроме Char.Если базовый тип явно не объявлен, используется Int32.Enum является базовым классом для всех перечислений в .NET Framework.
Это означает, что вы можете использовать byte
, sbyte
, ushort
, int
, uint
, long
или ulong
.
Кроме того, установка значений, как вы описали (blah = 0, blahblah = 1), в то время как избыточна, в порядке, так как, согласно спецификации C #
Если объявление элемента перечисления не имеет инициализатора, его соответствующее значение устанавливается неявно, как указано ниже:
• Если элемент перечисления является первым членом перечисления, объявленным втип перечисления, его ассоциированное значение равно нулю.
• В противном случае связанное значение члена перечисления получается путем увеличения ассоциированного значения предшествующего тексту элемента перечисления на единицу.Это увеличенное значение должно находиться в диапазоне значений, которые могут быть представлены базовым типом, в противном случае возникает ошибка времени компиляции.