Общие сведения о синтаксисе методов
Возможно, вы уже знакомы с некоторыми методами, такими как Console.WriteLine() или random.Next(). Возможно, вы оценили, как эти методы упрощают задачи и позволяют легко создавать код. В этом уроке вы узнаете, как создать собственные методы.
Как работают методы
Процесс разработки метода начинается с создания сигнатуры метода. Сигнатура метода объявляет возвращаемый тип, имя и входные параметры метода. Например, рассмотрим следующую сигнатуру метода.
void SayHello();
Имя метода — SayHello. Тип возвращаемого значения — это voidозначает, что метод не возвращает данные. Однако методы могут возвращать значение любого типа данных, например bool, intdoubleи массивов. Параметры метода, если таковые есть, должны быть включены в скобки (). Методы могут принимать несколько параметров любого типа данных. В этом примере метод не имеет параметров.
Прежде чем запустить метод, необходимо добавить определение. Определение метода использует квадратные скобки {} , чтобы содержать код, который выполняется при вызове метода. Рассмотрим пример.
void SayHello()
{
Console.WriteLine("Hello World!");
}
Теперь метод будет печатать Hello World! всякий раз, когда он вызывается.
Вызов метода
Метод вызывается с помощью его имени и включая все необходимые аргументы. Рассмотрим следующее:
Console.Write("Input!");
Строка "Input!" — это аргумент, предоставленный методу Write .
Метод можно вызвать до или после его определения. Например, SayHello метод можно определить и вызвать с помощью следующего синтаксиса:
SayHello();
void SayHello()
{
Console.WriteLine("Hello World!");
}
Обратите внимание, что перед вызовом метода не требуется определить метод. Эта гибкость позволяет упорядочивать код по своему усмотрению. Обычно все методы определяются в конце программы. Рассмотрим пример.
int[] a = {1,2,3,4,5};
Console.WriteLine("Contents of Array:");
PrintArray();
void PrintArray()
{
foreach (int x in a)
{
Console.Write($"{x} ");
}
Console.WriteLine();
}
Выполнение метода
При вызове метода код в теле метода будет выполнен. Это означает, что элемент управления выполнением передается из вызывающего метода в метод. Управление возвращается вызывающему после завершения выполнения метода. Например, рассмотрим следующий код:
Console.WriteLine("Before calling a method");
SayHello();
Console.WriteLine("After calling a method");
void SayHello()
{
Console.WriteLine("Hello World!");
}
В этом коде отображаются следующие выходные данные:
Before calling a method
Hello World!
After calling a method
После определения метода его можно вызывать в любое время, столько раз, сколько нужно использовать. Методы можно использовать внутри if-else операторов, for-циклов, switch операторов, даже для инициализации переменных и многое другое!
Лучшие практики
При выборе имени метода важно сохранить краткое имя и определить, какую задачу выполняет метод. Имена методов должны быть регистром Pascal и обычно не должны начинаться с цифр. Имена параметров должны описать, какая информация представляет параметр. Рассмотрим следующие сигнатуры метода:
void ShowData(string a, int b, int c);
void DisplayDate(string month, int day, int year);
Второй метод описывает тип отображаемых данных и предоставляет описательные имена параметров.
Теперь, когда у вас есть основы, вы готовы начать писать собственные методы!