Преобразование C# int в enum

Я почти уверен, что здесь enums можно выполнить явное приведение.

foo f = (foo)value;

Пока visual-c# вы говорите, что перечисление csharp наследуется (?) от int, которое c# у вас есть.

enum foo : int

ИЗМЕНИТЬ. Оказывается, по visual-c# умолчанию базовым типом перечислений c# является int. Однако вы можете .cs-file использовать любой интегральный c#-language тип, кроме char.

Вы также csharp можете выполнить приведение enums из значения, которого нет c-sharp в перечислении, что приведет c#-language к недопустимому перечислению. Я .cs-file подозреваю, что это работает, просто .cs-file меняя тип ссылки, а не меняя c-sharp значение в памяти.

enum (C# Reference)
Enumeration Types (C# Programming Guide)

c#

enums

2022-07-28T18:33:10+00:00