Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю - Страница 88
- Предыдущая
- 88/642
- Следующая
Console.ReadLine();
На заметку! Оператор
using static
AddOperations
FunWithMethodOverloading
В операторах верхнего уровня вызываются три разных версии метода
Add()
Среды Visual Studio и Visual Studio Code оказывают помощь при вызове перегруженных методов. Когда вводится имя перегруженного метода (такого как хорошо знакомый метод
Console.WriteLine()

Если перегруженная версия принимает необязательные параметры, тогда компилятор будет выбирать метод, лучше всего подходящий для вызывающего кода, на основе именованных и/или позиционных аргументов. Добавьте следующий метод:
static int Add(int x, int y, int z = 0)
{
return x + (y*z);
}
Если необязательный аргумент в вызывающем коде не передается, то компилятор даст соответствие с первой сигнатурой (без необязательного параметра). Хотя существует набор правил для нахождения методов, обычно имеет смысл избегать создания методов, которые отличаются только необязательными параметрами.
Наконец,
in
ref
out
static int Add(ref int x) { /* */ }
static int Add(out int x) { /* */ }
Однако если модификатор
in
ref
out
static int Add(ref int x) { /* */ }
static int Add(int x) { /* */ }
На этом начальное изучение построения методов с использованием синтаксиса C# завершено. Теперь давайте выясним, как строить перечисления и структуры и манипулировать ими.
Понятие типа enum
Вспомните из главы 1, что система типов .NET Core состоит из классов, структур, перечислений, интерфейсов и делегатов. Чтобы начать исследование таких типов, рассмотрим роль перечисления (
епшп
FunWithEnums
На заметку! Не путайте термины перечисление и перечислитель; они обозначают совершенно разные концепции. Перечисление — специальный тип данных, состоящих из пар "имя-значение". Перечислитель — тип класса или структуры, который реализует интерфейс .NET Core по имени
IEnumerable
System.Array
IEnumerable
foreach
При построении какой-либо системы часто удобно создавать набор символических имен, которые отображаются на известные числовые значения. Например, в случае создания системы начисления заработной платы может возникнуть необходимость в ссылке на типы сотрудников с применением констант вроде
VicePresident
Manager
Contractor
Grunt
EmpTypeEnum
using System;
Console.WriteLine("**** Fun with Enums *****\n");
Console.ReadLine();
// Здесь должны находиться локальные функции:
// Специальное перечисление.
enum EmpTypeEnum
{
Manager, // = 0
Grunt, // = 1
Contractor, // = 2
VicePresident // = 3
}
На заметку! По соглашению имена типов перечислений обычно снабжаются суффиксом
Enum
В перечислении
EmpTypeEnum
0
EmpTypeEnum
// Начать нумерацию со значения 102.
enum EmpTypeEnum
{
Manager = 102,
Grunt, // = 103
Contractor, // = 104
VicePresident // = 105
}
Нумерация в перечислениях не обязана быть последовательной и содержать только уникальные значения. Если (по той или иной причине) перечисление
EmpTypeEnum
- Предыдущая
- 88/642
- Следующая