Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Перечисления






Как и массивы, перечисления являются экземпляром класса. В случае перечислений - это System.Enum.

Человек устроен таким образом, что ему легче запомнить слово, нежели последовательность цифр (хотя бывают и исключения). Именно по этой причине, кстати, люди и придумали языки программирования. Перечисления в C# применяются в соответствии с этим фактом. Перечисления - это подобие множеств. Это совокупность однотипных данных, которые имеют понятные человеку имена.

Вот пример простого перечисления:

enum EnumName{Pavel, Oleg, Anna, Gena};

В данном примере мы объявили перечисление EnumName, состоящее из четырех элементов. Каждый элемент имеет свой номер. В данном примере нумерация начинается с нуля, т.е. элемент Pavel имеет порядковый номер 0, Oleg - 1 и т.д. Можно задать и другую последовательность, например:

enum EnumName{Pavel = 3, Oleg = 2, Anna = 10, Gena = 5}

Комментарии, думаю излишне. Вообще для перечислений нумерация не так важна, как для массивов.

Кроме того, можно задать тип элементов перечисления. По умолчанию используется тип int, но можно назначить любой, например вот так:

enum EnumName: short { Pavel = 3, Oleg = 2, Anna = 10, Gena = 5 }

В данном примере все 4 элемента перечисления EnumName будут иметь тип short.
Использовать перечисления очень просто. К элементам объявленного нами перечисления можно обратиться так:

EnumName x;

x = EnumName.Pavel;

Console.WriteLine(x);

В данном случае на экран будет выведено " Pavel". Казалось бы, что от перечислений совсем нет толка, но на самом деле это не так. Дело в том, что перечисления имеют несколько полезных методов, которые помогают взаимодействовать с перечислениями, делая их более удобными для решения некоторых задач, нежели массивы.

Очень важным является метод GetValues(). Он возвращает экземпляр класса System.Array, т.е. массив. Рассмотрим это метод на простом примере:

Array mas = Enum.GetValues(typeof(EnumName));

foreach(EnumName y in mas)

Console.WriteLine(y);

В данном примере перечисление преобразуется в массив, а затем все элементы массива выводятся на экран. Нужно обратить внимание на то, что вся нумерация при этом сбивается.

Кроме GetValues() есть и другие полезные методы, например Format(), GetUnderlyingType() и другие. Кроме того, элементы перечислений можно сравнивать между собой, например:

EnumName.Pavel > EnumName.Oleg

В данном случае сравниваются номера элементов перечислений.

Перечисления являются удобным средством представления данных. Нужно уметь их применять, они позволят сделать исходный код более наглядным и понятным.

Контрольные вопросы:

1. Нужно ли при создании структуры пользоваться ключевым словом new?

2. Может ли для структуры определяться деструктор?

3. Что такое перечисление?






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.