Повертає результат і може приймати параметри
Можна використовувати як параметр метода
static void Main(string[] args) { Func<int, int> objFunc = Triple; int n1 = DoFunc(6, objFunc); Console.WriteLine(n1); // 216 int n2 = DoFunc(6, x => x * x); Console.WriteLine(n2); // 36 Console.ReadKey(); } static int DoFunc(int x1, Func<int, int> objF) { int result = 0; if (x1 > 0){ result = objF(x1); } return result; } static int Triple(int x) { return x*x*x; }