Sobes.tech
Junior

Mi a különbség az Action és a Func delegate-ek között C#-ban?

sobes.tech MI

Válasz az MI-től

A fő különbség az Action és a Func között a visszatérési értékben rejlik:

  • Action: Delegált, amely 0-tól 16-ig terjedő paramétert fogad, de nem ad vissza értéket (visszatér void-ként).
  • Func: Delegált, amely 0-tól 16-ig terjedő bemeneti paramétert fogad, és visszaad egy értéket a megadott típusból. A visszatérési érték típusa az utolsó <TResult> paraméterben van megadva.

Példák:

// Action használatának példája
Action<string> printMessage = (message) =>
{
    Console.WriteLine(message);
};
printMessage("Helló, világ!");
// Func használatának példája
Func<int, int, int> sum = (a, b) => a + b;
int result = sum(5, 3); // az eredmény 8 lesz
Console.WriteLine($"Összeg: {result}");