Junior — Middle
Можеш ли да назовеш основните типове делегати, използвани в езика за програмиране?
sobes.tech AI
Отговор от AI
В езика за програмиране C# делегатите са типове, които представляват препратки към методи с определена сигнатура. Основните типове делегати:
- Делегати с един изстрел (Single-cast delegates) — сочат към един метод.
- Мултикаст делегати (Multicast delegates) — могат да съдържат списък от методи, които се извикват последователно.
Освен това съществуват стандартни обобщени делегати:
Action— делегат, който представлява метод без стойност за връщане и с 0 или повече параметри.Func<TResult>иFunc<T1, TResult>и т.н. — делегати, които връщат стойност и могат да приемат параметри.Predicate<T>— делегат, който приема един параметър и връщаbool.
Пример за обявяване и използване на делегат:
public delegate int Operation(int x, int y);
Operation add = (a, b) => a + b;
int result = add(3, 4); // 7
Мултикаст делегат:
Operation op = add;
op += (a, b) => a * b;
foreach (Operation del in op.GetInvocationList()) {
Console.WriteLine(del(3, 4));
}
Така основните типове делегати са: с един изстрел, мултикаст, както и стандартните обобщени делегати Action, Func и Predicate.