C# Func

Повертає результат і може приймати параметри

Можна використовувати як параметр метода

 


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;
}