Здесь говорится здесь , что возможные типы для enum
: 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или вдвое, даже если большинство языков не хотят выставлять это? "
Поскольку я использую только c #, есть ли способ сделать это с некоторыми хаки?