Когда я запускаю эти 2 строки кода, я получаю то, что ожидаю:
Func<int, int> sqr = x => x * x;
Console.WriteLine(sqr(3));
Но я не понимаю, почему возвращение указывается в качестве второго аргумента?Как все это работает?Когда вы определяете делегат, он должен быть:
return-type delegate delName (parameters);
Однако, с делегатом Func, тип возвращаемого значения также указывается в качестве входного аргумента.Кто-нибудь может объяснить мне, как все это работает?И если возможно, напишите небольшой пример, используя ту же концепцию указания типа возвращаемого значения, что и входной параметр.Мне очень трудно понять, что происходит под капотом.
Заранее спасибо:)