- По подразбиране първата стойност на изброяването е 0, която може изрично да се присвои на enum-а.
- Можете да дефинирате базовия тип на enum-а, например enum E: short {}, sizeof(E) == 2; int по подразбиране.
- Изброена верига на наследяване: ValueType->Enum->enum
- Преобразуването между типа enum и базовия тип е явно, с изключение на 0, тъй като има имплицитно преобразуване от 0 към всеки тип enum.
- ToString() на enum-а извежда идентификатора на стойността на enum,
- От низ към изброяване: AEnumType a = (AEnumType) Enum.Parse(typeof(AEnumType), "флаг"); може да се провали, а кодът трябва да включва механизми за обработка на изключения.
- Можеш да използваш Enum.IsDefined(), за да провериш дали дадена стойност е включена в enum.
ако (! Enum.IsDefined(typeof(SearchMode), опции) throw new ArgumentException(Properties.Resources.InvalidEnumerationValue, "options");
SearchMode е тип enum, ако стойността на passing options не попада в обхвата на тази дефиниция на enum,Например, ако enum дефинира 1,2, а опциите са от 3 кастове, тогава методът IsDefined връща false.
|