Здесь сказано , что возможные типы для перечисления
- это ] byte
, sbyte
, short
, ushort
, int
, uint
, long
или ulong
.
Что, если мне понадобится float
или double
для определения процентных приращений, например 1,5
или 2,5
]? Я застрял?
Как сказано здесь: http://en.csharp-online.net/.NET_Type_Design_Guidelines%E2%80%94Enum_Design
Перечисление - это структура с набором статических констант. Причина, по которой следует следовать этому руководству, заключается в том, что вы получите некоторый дополнительный компилятор и поддержку отражения, если вы определите перечисление, а не вручную определите структуру со статическими константами.
Поскольку перечисление - это набор констант, почему я не могу использовать константы с плавающей запятой?
Обновление: здесь сказано: http://en.csharp-online.net/.NET_Type_Design_Guidelines% E2% 80% 94Enum_Design "Знаете ли вы, что среда CLR поддерживает перечисления с базовым типом float или double, даже если большинство языков не раскрывают его?"
Поскольку я использую только C #, есть ли способ сделать это с помощью некоторых хаков?