Функции – небольшие подпрограммы, вызываемые многократно внутри проекта. Функция содержит код, выполняемый при её вызове.
Удобство использования функций
Функции удобны для выполнения повторяющегося кода. Вместо многократного копирования, функцию определяют один раз и вызывают при необходимости. Это повышает читаемость и упрощает работу с кодом. На практике мы уже сталкивались с функциями (или методами): основная функция main запускает проект, а при работе с динамическими массивами использовались методы объектов.
Функции и методы: различия
Функции и методы – практически одно и то же. Разница в месте определения:
- Функции: определяются вне классов.
- Методы: определяются внутри классов.
В C#, объектно-ориентированном языке, каждый файл – это класс, поэтому фактически используются только методы. Термины часто применяются взаимозаменяемо.
Создание метода
Все методы определяются вне других методов. Пример:
public static void Print()
{
Console.WriteLine("Hello");
}
- public: модификатор доступа; метод доступен всем классам.
- static: обращение к методу через имя класса, без создания объекта.
- void: возвращаемый тип; метод ничего не возвращает.
- Print(): имя метода.
- Console.WriteLine("Hello");: код метода.
Вызов метода:
Print(); // Вызов метода Print
Print(); // Еще один вызов
Два вызова Print() выводят «Hello» дважды на консоль.
Методы с параметрами
Методы могут принимать параметры:
public static void Print(string word)
{
Console.WriteLine(word);
}
Метод Print принимает строковый параметр word. Вызов:
Print("Hello");
Print("Hello World");
string words = "Hello there!";
Print(words);
Вывод на консоль зависит от переданного параметра.
Методы с возвращаемым значением
Методы могут возвращать значения. Вместо void указывается тип возвращаемого значения:
public static int Sum(int x, int y)
{
return x + y;
}
Метод Sum принимает два целых числа и возвращает их сумму. Результат можно сохранить:
int s1 = Sum(5, 6);
int s2 = Sum(4, 7);
Console.WriteLine(s1); // Выведет 11
Console.WriteLine(s2); // Выведет 11
Вывод результата с помощью Print и ToString():
Console.WriteLine(s1.ToString()); // Выведет 11
Метод для суммирования элементов массива
Метод, принимающий массив байтов и возвращающий сумму элементов:
public static byte Sum(byte[] digits)
{
byte sum = 0;
foreach (byte digit in digits)
{
sum += digit;
}
return sum;
}
Пример использования:
byte[] myArray = { 1, 2, 3, 4, 5, 6, 7 };
byte rs1 = Sum(myArray);
byte[] myArray2 = {1,2,3,4,5,6,3};
byte rs2 = Sum(myArray2);
Console.WriteLine($"Результат 1: {rs1}"); // Выведет сумму элементов первого массива
Console.WriteLine($"Результат 2: {rs2}"); // Выведет сумму элементов второго массива
Функции и методы обеспечивают повторное использование кода и модульность, упрощая разработку и повышая эффективность. В C# они являются важнейшими инструментами для организации кода.