Junior
127
questionbank
Какие делегаты ты знаешь?
Answer from AI
sobes.tech AI
Основные типы делегатов в .NET:
System.Delegate(базовый абстрактный класс) — основа для всех делегатов.System.MulticastDelegate(наследуется отDelegate) — позволяет делегату содержать несколько методов.- Обобщенные делегаты в .NET Framework 3.5+:
Action— делегат без возвращаемого значения (void).Action<T>...Action<T1, T2, T3, T4>— делегаты с одним до четырёх параметров и без возвращаемого значения.Func<TResult>— делегат с возвращаемым значением типаTResultи без параметров.Func<T, TResult>...Func<T1, T2, T3, T4, TResult>— делегаты с одним до четырёх параметров и возвращаемым значением типаTResult.Predicate<T>— специальный типFunc<T, bool>, представляющий метод, который определяет набор критериев и определяет, соответствует ли указанный объект этим критериям.
Пример использования Action и Func:
// Делегат Action: принимает int, ничего не возвращает
Action<int> printNumber = (num) => Console.WriteLine(num);
printNumber(10); // Выведет 10
// Делегат Func: принимает два int, возвращает int
Func<int, int, int> addNumbers = (a, b) => a + b;
int result = addNumbers(5, 3); // result = 8
Делегаты также используются в событиях (event).