Sobes.tech
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 кошуу = (a, b) => a + b;
int натыйжа = кошуу(3, 4); // 7

Мултикаст делегат:

Operation op = кошуу;
op += (a, b) => a * b;

foreach (Operation del in op.GetInvocationList()) {
    Console.WriteLine(del(3, 4));
}

Ошентип, негизги делегат түрлөрү — бир-каст, мултикаст, ошондой эле стандарттык жалпы делегаттар Action, Func жана Predicate.