Ответ
Функция — это именованный, многократно используемый блок кода, который выполняет одну конкретную задачу. Функция может принимать входные данные (параметры), выполнять над ними операции и возвращать результат (возвращаемое значение).
Основные цели использования функций:
- Устранение дублирования кода (DRY).
- Структурирование и модульность программы.
- Упрощение чтения, тестирования и поддержки кода.
Синтаксис функции в C#:
// 1. Объявление функции (метода)
// [модификаторы] возвращаемый_тип ИмяФункции([параметры])
public static int CalculateSum(int a, int b) // Сигнатура функции
{
// Тело функции
int sum = a + b;
return sum; // Оператор return передаёт результат вызывающему коду
}
// 2. Вызов функции
int result = CalculateSum(5, 3); // result = 8
Console.WriteLine(CalculateSum(10, 20)); // Выведет 30
Разновидности функций в C#:
-
Методы экземпляра: Привязаны к конкретному объекту класса.
public class Calculator { public int Add(int a, int b) => a + b; } var calc = new Calculator(); calc.Add(2, 2); // Вызов метода экземпляра -
Статические методы: Принадлежат типу (классу), а не объекту.
public static class MathHelper { public static int Multiply(int x, int y) => x * y; } MathHelper.Multiply(3, 4); // Вызов статического метода -
Локальные функции (C# 7.0+): Функции, объявленные внутри другого метода.
public void ProcessData() { int localVariable = 10; // Локальная функция имеет доступ к переменным внешнего метода int Square(int number) => number * number; Console.WriteLine(Square(localVariable)); // 100 } -
Лямбда-выражения: Анонимные функции, записанные в краткой форме.
Func<int, int, int> adder = (x, y) => x + y; int sum = adder(7, 8); // sum = 15
Ключевые принципы: Функция должна быть маленькой и делать одно дело (Single Responsibility Principle).
Ответ 18+ 🔞
А, функции в C#! Ну это ж как мой сосед дядя Вася — вроде один, а разновидностей дохуя. Сейчас разложу по полочкам, чтобы понятно было даже тому, кто в программировании только чайник заваривать умеет.
Смотри, функция — это такой именованный кусок кода, который можно вызывать сто раз, а писать один. Как жена, которая одно и то же по десять раз на день повторяет, только полезнее. Основная фишка — чтобы не копипастить одно и то же по всей программе, а собрал в одном месте и юзаешь.
Вот смотри, как это выглядит в коде:
// Объявляем функцию — типа даём ей имя и прописываем, что она делает
public static int СложитьДваЧисла(int первое, int второе)
{
int результат = первое + второе;
return результат; // Возвращаем результат, как будто говорим "на, держи"
}
// А вот как её вызываем
int что_получилось = СложитьДваЧисла(5, 3); // что_получилось = 8
Console.WriteLine(СложитьДваЧисла(10, 20)); // Выведет 30
Теперь про разновидности, их тут как тараканов на старой кухне:
-
Методы экземпляра — привязаны к конкретному объекту. Как личная зубная щётка — у каждого своя.
public class Калькулятор { public int Прибавить(int a, int b) => a + b; } var мойКалькулятор = new Калькулятор(); мойКалькулятор.Прибавить(2, 2); // Вызываем у конкретного объекта -
Статические методы — они как общий туалет в подъезде, принадлежат всем, а не кому-то одному. Вызываются через имя класса.
public static class Математичка { public static int Умножить(int x, int y) => x * y; } Математичка.Умножить(3, 4); // Вызываем прямо через класс -
Локальные функции (C# 7.0+) — это когда функция внутри функции, как матрёшка. Видит всё, что происходит во внешней функции, что иногда очень удобно.
public void ОбработатьДанные() { int локальнаяПеременная = 10; // Локальная функция — как тайный агент внутри метода int ВозвестиВКвадрат(int число) => число * число; Console.WriteLine(ВозвестиВКвадрат(локальнаяПеременная)); // 100 } -
Лямбда-выражения — анонимные функции, короткие и без пафоса. Как сказать "передай соль" вместо "будь так любезен, передай, пожалуйста, солонку".
Func<int, int, int> сложить = (x, y) => x + y; int сумма = сложить(7, 8); // сумма = 15
И главное правило, блядь — функция должна делать что-то одно и делать это хорошо. Не пытайся впихнуть в одну функцию всё, от сложения чисел до отправки email и заказа пиццы. Получится пиздец, а не код. Маленькая, конкретная, понятная — вот идеал. Как хорошая водка: один компонент, одна задача, один результат.
Видео-ответы
▶
▶
▶
▶
▶
▶