Скачать презентацию Типы перечислений Определение Тип перечисления или Скачать презентацию Типы перечислений Определение Тип перечисления или

Типы перечислений.pptx

  • Количество слайдов: 17

Типы перечислений Типы перечислений

Определение • Тип перечисления или перечисление предоставляет эффективный способ определения набора именованных интегральных констант, Определение • Тип перечисления или перечисление предоставляет эффективный способ определения набора именованных интегральных констант, который можно назначить переменной. • Цель использования перечисления является объявление набора констант в программном коде.

Определение • Тип перечисления объявляется с использованием ключевого слова enum Fruit { Apple, Orange, Определение • Тип перечисления объявляется с использованием ключевого слова enum Fruit { Apple, Orange, Pineapple, Banana }

Примеры enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; enum Months Примеры enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; enum Months : byte { Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec };

Объявление перечисления • Объявление перечисления используется для определения новых типов перечисления. • Объявление перечисления Объявление перечисления • Объявление перечисления используется для определения новых типов перечисления. • Объявление перечисления начинается с ключевого слова enum и определяет следующие элементы: – имя – характеристики доступности – лежащий в основе тип – члены.

Объявление перечисления • Каждое перечисление имеет в своей основе целочисленный тип, который называется базисным Объявление перечисления • Каждое перечисление имеет в своей основе целочисленный тип, который называется базисным типом. Он используется для представления всех значений, определенных перечислением. • При явном объявлении можно использовать следующие базисные типы: byte, sbyte, int, uint, long, ulong, short, ushort • Неявные объявления используют int. • Нельзя использовать в качестве базисного типа char.

Объявление перечисления • Модификаторы доступа: – public, – protected, – internal, – private. • Объявление перечисления • Модификаторы доступа: – public, – protected, – internal, – private. • Тело перечисления в объявлении типа перечисления может содержать нулевое или ненулевое число членов перечисления. Они являются именованными константами типа перечисления. Поэтому, никакие два члена не могут иметь одно и тоже имя.

Объявление перечисления • Если объявление члена перечисления не имеет инициализации, то используется следующие правила: Объявление перечисления • Если объявление члена перечисления не имеет инициализации, то используется следующие правила: – первый член перечисления имеет значение ноль. – каждый последующий член перечисления имеет значение на единицу большее предыдущего члена перечисления.

Объявление перечисления • Если при объявлении члена перечисления, он явно инициализирован в виде константного Объявление перечисления • Если при объявлении члена перечисления, он явно инициализирован в виде константного выражения, значение этого константного выражения и будет значением этого члена перечисления. • Все перечисления являются экземплярами типа System. Enum. Нельзя произвести новые классы от класса System. Enum, но можно использовать его методы для получения данных экземпляра перечисления и для обработки этих данных.

Пример using System; using System. Collections. Generic; using System. Linq; using System. Text; namespace Пример using System; using System. Collections. Generic; using System. Linq; using System. Text; namespace Console. Application 12 { class Program { enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};

Пример } } static void Main(string[] args) { string s = Enum. Get. Name(typeof(Days), Пример } } static void Main(string[] args) { string s = Enum. Get. Name(typeof(Days), 4); Console. Write. Line(s); Console. Write. Line("Значения перечисления Days: "); foreach (int i in Enum. Get. Values(typeof(Days))) Console. Write. Line(i); Console. Write. Line("Имена перечисления Days: "); foreach (string str in Enum. Get. Names(typeof(Days))) Console. Write. Line(str); }

Пример • Можно дни написать так: • enum Days { Понедельник, Вторник, Среда, Четверг, Пример • Можно дни написать так: • enum Days { Понедельник, Вторник, Среда, Четверг, Пятница, Суббота, Воскресенье};

Использование перечисления • Как и в случае с любой другой константой, все ссылки на Использование перечисления • Как и в случае с любой другой константой, все ссылки на отдельные значения перечисления преобразуются в числовые литералы во время компиляции. • Значения перечислений часто используются в операторах switch. • Если данный код будет использоваться и другими разработчиками, необходимо предоставить рекомендации относительно действия кода при добавлении новых элементов к типам enum.

typeof • Используется для получения объекта System. Type для типа. Выражение typeof принимает следующую typeof • Используется для получения объекта System. Type для типа. Выражение typeof принимает следующую форму: System. Type type = typeof(int); • Для получения типа выражения во время выполнения можно воспользоваться методом платформы. NET Get. Type: int i = 0; System. Type type = i. Get. Type();