Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csOpEnFd 126 of 163 menu
◀ ▶

Поле класса с перечислением в C#

Поле может иметь тип enum так же, как int или string: у каждого объекта хранится одна из констант перечисления.

При создании объекта полю задают начальное значение или меняют при необходимости. Запишем тип Color и класс Banner:

enum Color { Red, Green, Blue } class Banner { public Color Theme = Color.Blue; }

Создадим объект и выведем метку цвета через switch:

Banner banner = new Banner(); switch (banner.Theme) { case Color.Red: Console.WriteLine("red"); break; case Color.Green: Console.WriteLine("green"); break; case Color.Blue: Console.WriteLine("blue"); break; }

Тот же тип подходит для поля структуры. Запишем структуру заказа со статусом:

Order order = new Order(); order.Status = OrderStatus.Paid; enum OrderStatus { NewOrder, Paid, Shipped, Done } struct Order { public OrderStatus Status; }

Выведем метку для Paid:

switch (order.Status) { case OrderStatus.NewOrder: Console.WriteLine("created"); break; case OrderStatus.Paid: Console.WriteLine("paid"); break; case OrderStatus.Shipped: Console.WriteLine("on way"); break; case OrderStatus.Done: Console.WriteLine("finished"); break; }

Объявите enum Channel с константами Email, Sms и Push. Сделайте класс Message с полем Channel и полем id типа long. Создайте объект с каналом Push и id 7, выведите имя канала и id в одной строке через пробел.

Объявите enum Role с константами Guest, User и Admin. Сделайте структуру Account с полем Role. Создайте объект с ролью Admin и выведите числовой код роли: Guest - 0, User - 1, Admin - 2.

Объявите enum OrderStatus с константами NewOrder, Paid, Shipped и Done. Дана переменная:

OrderStatus status = OrderStatus.Paid;

Для переменной status выведите соответствующую текстовую метку: NewOrder - "created", Paid - "paid", Shipped - "on way", Done - "finished".

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить