A Func<int, string>
подобно
Func<int, String> pageUrl = i => "Page" + i;
- делегат, принимающий int
в качестве единственного параметра и возвращающий string
.В этом примере он принимает параметр int
с именем i
и возвращает строку "Page" + i
, которая просто объединяет стандартное строковое представление i
со строкой "Page"
.
В общем,Func<TSource, TResult>
принимает один параметр типа TSource
и возвращает параметр типа TResult
.Например,
Func<string, string> toUpper = s => s.ToUpper();
тогда вы можете сказать
string upper = toUpper("hello, world!");
или
Func<DateTime, int> month = d => d.Month;
, чтобы вы могли сказать
int m = month(new DateTime(3, 15, 2011));