Класс Func
Func и Func<T, TResult>
описывают функцию с результатом: последний тип
параметра - возвращаемое значение, предыдущие -
аргументы. Func<int, int> принимает
int и возвращает int. Удобно передавать
вычисления в методы вместо Action.
Синтаксис
Func<int, int> calc = x => x * 2;
int res = calc(5);
Пример
Давайте удвоим число через Func<int, int>:
using System;
class Program
{
static void Main()
{
Func<int, int> doubleNum = x => x * 2;
int res = doubleNum(5);
Console.WriteLine(res);
}
}
Результат выполнения кода:
10
Пример
Давайте вернём длину строки через Func<string, int>:
using System;
class Program
{
static void Main()
{
Func<string, int> length = text => text.Length;
int res = length("abcde");
Console.WriteLine(res);
}
}
Результат выполнения кода:
5
Пример
Давайте сложим два числа через Func<int, int, int>:
using System;
class Program
{
static void Main()
{
Func<int, int, int> add = (left, right) => left + right;
int res = add(2, 3);
Console.WriteLine(res);
}
}
Результат выполнения кода:
5