Junior — Middle
Mi különbözteti meg az Action típusú delegátokat a Func típusú delegátoktól használat és cél tekintetében?
sobes.tech MI
Válasz az MI-től
A C# nyelvben az Action és Func delegátumok célja és visszatérési értéke szerint különböznek:
-
Action — egy delegát, amely egy olyan metódust képvisel, amely nem ad vissza értéket (void). 0-tól 16 paraméterig fogadhat el, de mindig void-ot ad vissza.
-
Func — egy delegát, amely egy olyan metódust képvisel, amely értéket ad vissza. 0-tól 16 paraméterig fogadhat el, ahol az utolsó paraméter a visszatérési érték típusa.
Példa:
Action<string> print = message => Console.WriteLine(message);
print("Helló, Action!"); // kiírja az üzenetet, nem ad vissza semmit
Func<int, int, int> add = (a, b) => a + b;
int result = add(3, 4); // 7-et ad vissza
Ezért használja az Action-t, amikor a metódus nem ad vissza semmit, és Func-t, amikor eredményt kell visszaadni.