Sobes.tech
Junior — Middle

C# tilida Action va Func delegatlari o'rtasidagi farqlarni tushuntirib bera olasizmi?

sobes.tech AI

AIdan javob

C# da Action va Func delegatlari metodlarni ifodalash uchun ishlatiladi, ammo ular qaytariladigan turga ko'ra farq qiladi:

  • Action — qiymat qaytarmaydigan (void) delegat. 0 dan 16 gacha parametr qabul qilishi mumkin.
  • Func — qiymat qaytaradigan delegat. Oxirgi parametr har doim qaytariladigan tur, va avvalgi parametrlar metod parametrlaridir.

Misollar:

Action<string> print = s => Console.WriteLine(s);
print("Hello"); // Hello ni chiqaradi

Func<int, int, int> add = (a, b) => a + b;
int result = add(3, 4); // natija = 7

Shuning uchun, agar metod hech narsa qaytarmasa Action, agar natija qaytarilishi kerak bo‘lsa Func ni tanlang.