Обычно лучше всего определять перечисление прямо в пространстве имен, чтобы всем классам в пространстве имен было одинаково удобно получить к нему доступ.
Перечисления могут сыграть очень важную роль и облегчить жизнь программисту. Объявляются перечисления вот так:
public enum DaysOfWeek
{
Monday = 0,
Tuesday = 1,
Wednesday = 2,
Thursday = 3,
Friday = 4,
Saturday = 5,
Sunday = 6
}
Здесь мы используем целые значения, которые соответствуют дням недели (стоит отметить что день можно определить из названия переменной) Доступ к конкретному дню недели можно получить вот так: DaysOfWeek.Wednesday вернет 2. Обычно перечисления используют в тех случаях, когда нужно передавать соответствующее значение методу, который будет проходить по всем значениям с помощью switch и выдавать соответствующий результат. Давайте разберем это на очень простом примере, который даст понять логику работы с перечислениями:
using System;
using System.Collections.Generic;
using System.Text;
namespace EnumerationExample
{
class Program
{
public enum DaysOfWeek
{
Monday = 0,
Tuesday = 1,
Wednesday = 2,
Thursday = 3,
Friday = 4,
Saturday = 5,
Sunday = 6
}
static void Main(string[] args)
{
WriteText(DaysOfWeek.Sunday);
Console.ReadLine();
}
static void WriteText(DaysOfWeek days)
{
switch (days)
{
case DaysOfWeek.Monday:
Console.WriteLine("Понедельник");
break;
case DaysOfWeek.Tuesday:
Console.WriteLine("Вторник");
break;
case DaysOfWeek.Wednesday:
Console.WriteLine("Среда");
break;
case DaysOfWeek.Thursday:
Console.WriteLine("Четверг");
break;
case DaysOfWeek.Friday:
Console.WriteLine("Пятница");
break;
case DaysOfWeek.Saturday:
Console.WriteLine("Суббота");
break;
case DaysOfWeek.Sunday:
Console.WriteLine("Понедельник");
break;
}
}
}
}
Теперь запустите программу, и вы увидите что в консоли появится текст «Понедельник». Мы увидели именно эту фразу, потому что передали в метод WriteText элемент перечисления Sunday, попробуйте передать туда другие дни недели, и вы убедитесь что программа будет выводить именно тот текст что принадлежит соответствующему дню недели. Метод WriteText принимает перечисление, и в зависимости от передаваемого параметра, выводит текст.
По умолчанию первому перечислителю задано значение, равное нулю, а значение каждого последующего оператора увеличивается на 1. Например:
public enum E1 {One, Two, Three}
Такое перечисление эквивалентно следующим строкам кода:
const int One = 0; const int Two = 1; const int Three = 2;
Таким образом, перечисление — это всего лишь компактное объявление сразу нескольких целочисленных констант.
0.00 (0%) 0 votes










