Основы C# Урок 68. Работа с перечислениями (enum)
Перечисления (enum) - это определенный программистом тип, который может принимать только ограниченный набор значений. Типичный пример - это дни недели (их всего семь). Или, например, типы доступа с чему-либо (полный доступ, доступ только на чтение и отсутствие доступа).
Вот примеры определения перечисления:
public enum MyColors : byte
{
Red,
Yellow,
Green
}
public enum Values
{
Seven = 7,
Eight = 8,
Ten = 10
}
В первом вы видите необязательную часть - это указание типа, на котором основано перечисление (byte в нашем случае). Во втором тоже есть необязательная часть - это числовые величины для значений перечисления.
А вот пример использования первого перечисления:
// Использлование enum.
MyColors color = MyColors.Green;
// Получение строки из значения enum'а.
Console.WriteLine(color.ToString());
// Получение значения enum'а из строки.
MyColors mycolor = (MyColors)Enum.Parse(typeof(MyColors), "Red");
// Получение всех строковых значений enum'а.
string[] s = Enum.GetNames(typeof(MyColors));
// Получение всех значений enum'а.
Array ar = Enum.GetValues(typeof(MyColors));
MyColors col = (MyColors)ar.GetValue(1);
// Получение типа, на котором основан enum.
Type type = Enum.GetUnderlyingType(typeof(MyColors));
Как вы видите, вы пожете не только работать с переменными, имеющими тип вашего перечисления, но и получаеть информацию о самом типе (например, получить все значения перечисляемого типа (в том числе сразу в виде строкового массива) или получить тип, на котором перечисление основано (byte в нашем случае)).
|