Передача и возврат перечисления в C#
Тип enum подходит для параметра
и для типа результата так же, как int или
имя класса: метод получает один из заранее известных
вариантов и может вернуть другую константу того же типа.
В теле функции значение сравнивают или разбирают
через switch. Запишем функцию, которая по
цвету возвращает короткую метку, и выведем ответ
для Color.Green:
string Name(Color c) {
switch (c) {
case Color.Red:
return "red";
case Color.Green:
return "green";
case Color.Blue:
return "blue";
}
return "";
}
Console.WriteLine(Name(Color.Green));
enum Color { Red, Green, Blue }
Функция может возвращать саму константу перечисления.
Запишем выбор режима по флагу и выведем метку
через switch:
Mode Pick(bool canEdit) {
if (canEdit) {
return Mode.Edit;
}
return Mode.View;
}
Mode mode = Pick(true);
switch (mode) {
case Mode.View:
Console.WriteLine("view");
break;
case Mode.Edit:
Console.WriteLine("edit");
break;
}
enum Mode { View, Edit }
Объявите enum Shape с константами
Circle, Square и Triangle.
Напишите функцию с параметром Shape,
которая возвращает короткое имя фигуры в виде
строки. Вызовите ее с Shape.Triangle
и выведите результат.
Объявите enum Size с константами
S, M и L.
Напишите функцию, которая принимает bool
и возвращает Size.L, если аргумент
true, иначе Size.S.
Выведите метку для результата вызова с false.