Elementor Header #8

29. Методы и их вызов

29. Методы и их вызов в C#

1. Введение

Метод — это блок кода, который выполняет определенную задачу и может быть вызван многократно. Методы позволяют разделять код на логические части, избегать дублирования и улучшать читаемость программы.

📌 Пример метода в C#:

				
					void SayHello()
{
    Console.WriteLine("Привет, мир!");
}

				
			

Метод можно вызвать по его имени:

				
					SayHello(); // Вызов метода

				
			

2. Определение метода

Методы определяются внутри классов и могут возвращать значение или быть void (ничего не возвращать).

2.1. Синтаксис метода

				
					[модификатор_доступа] [тип_возвращаемого_значения] ИмяМетода([параметры])
{
    // Тело метода
    return [значение]; // (если метод возвращает значение)
}

				
			

📌 Пример метода, который возвращает сумму двух чисел:

				
					int Sum(int a, int b)
{
    return a + b;
}

				
			

Вызов метода:

				
					int result = Sum(5, 3);
Console.WriteLine(result); // 8

				
			

3. Виды методов

3.1. Методы без параметров

Метод, который выполняет действие, но не принимает аргументы.

				
					void SayHello()
{
    Console.WriteLine("Привет!");
}

				
			

Вызов метода:

				
					SayHello();

				
			

3.2. Методы с параметрами

Метод, который принимает входные данные и использует их в своей работе.

				
					void Greet(string name)
{
    Console.WriteLine($"Привет, {name}!");
}

				
			

🔹 Вызов метода:

				
					Greet("Алексей");

				
			

3.3. Методы, возвращающие значение

Метод, который выполняет вычисления и возвращает результат.

				
					int Multiply(int x, int y)
{
    return x * y;
}

				
			

🔹 Вызов метода:

				
					int product = Multiply(4, 5);
Console.WriteLine(product); // 20

				
			

3.4. Методы с параметрами по умолчанию

Если аргумент не передан, используется значение по умолчанию.

				
					void PrintMessage(string message = "Сообщение по умолчанию")
{
    Console.WriteLine(message);
}

				
			

🔹 Вызов метода:

				
					PrintMessage(); // Сообщение по умолчанию
PrintMessage("Привет, C#!"); // Привет, C#!

				
			

3.5. Перегрузка методов (Method Overloading)

Можно создать несколько методов с одинаковым именем, но разными параметрами.

				
					void ShowInfo(string name)
{
    Console.WriteLine($"Имя: {name}");
}

void ShowInfo(string name, int age)
{
    Console.WriteLine($"Имя: {name}, Возраст: {age}");
}

				
			

🔹 Вызов метода:

				
					ShowInfo("Иван"); 
ShowInfo("Анна", 25);

				
			

4. Вызов метода

Методы вызываются по имени. Если метод принимает параметры, их нужно передать при вызове.

📌 Пример вызова метода:

				
					int Square(int num)
{
    return num * num;
}

Console.WriteLine(Square(4)); // 16

				
			

5. Возвращение значений

Если метод должен возвращать результат, используйте ключевое слово return.

📌 Пример метода с return:

				
					double Divide(double a, double b)
{
    if (b == 0)
    {
        Console.WriteLine("Ошибка: деление на ноль!");
        return 0;
    }
    return a / b;
}

				
			

🔹 Вызов метода:

				
					double result = Divide(10, 2);
Console.WriteLine(result); // 5.0

				
			

6. Рекурсивные методы

Метод, который вызывает сам себя. Например, вычисление факториала:

				
					int Factorial(int n)
{
    if (n <= 1) return 1;
    return n * Factorial(n - 1);
}

				
			

🔹 Вызов метода:

				
					Console.WriteLine(Factorial(5)); // 120

				
			

Заключение

✅ Методы улучшают структуру кода и избегают дублирования.
✅ Они могут принимать параметры и возвращать значения.
✅ Можно создавать методы с перегрузкой и методы с параметрами по умолчанию.
✅ Рекурсивные методы могут решать сложные задачи, но их нужно использовать осторожно, чтобы избежать бесконечной рекурсии.

🚀 Теперь вы знаете, как работать с методами в C#!

Тестовое задание

  1. Создайте программу, которая содержит следующие методы:
    • Метод Greet, который принимает имя и выводит приветствие.
    • Метод Sum, который принимает два числа и возвращает их сумму.
    • Метод Factorial, который рекурсивно вычисляет факториал числа.

📌 Пример реализации:

				
					using System;

class Program
{
    static void Greet(string name)
    {
        Console.WriteLine($"Привет, {name}!");
    }

    static int Sum(int a, int b)
    {
        return a + b;
    }

    static int Factorial(int n)
    {
        if (n <= 1) return 1;
        return n * Factorial(n - 1);
    }

    static void Main()
    {
        Greet("Максим");

        int result = Sum(4, 7);
        Console.WriteLine($"Сумма: {result}");

        Console.WriteLine($"Факториал 5: {Factorial(5)}");
    }
}

				
			

Попробуйте написать и запустить этот код, чтобы убедиться в правильности выполнения операций и особенностях работы с числами с плавающей точкой.

logo