Сегодня я наконец-то «получил» делегата Func<>
и увидел, как его можно использовать, чтобы сделать некоторые из моих менее читаемых запросов LINQ (надеюсь) более читабельными.
Вот простой пример кода, иллюстрирующий вышесказанное, в (очень) тривиальном примере
List<int> numbers = new List<int> { 1, 5, 6, 3, 8, 7, 9, 2, 3, 4, 5, 6, };
// To get the count of those that are less than four we might write:
int lessThanFourCount = numbers.Where(n => n < 4).Count();
// But this can also be written as:
Func<int, bool> lessThanFour = n => n < 4;
int lessThanFourCount = numbers.Where(lessThanFour).Count();
Может ли кто-нибудь еще привести примеры сценариев, в которых они используют Func<>
?
(Обратите внимание, что я не рекомендовал бы использовать Func<>
в таком простом сценарии, как показано выше, это всего лишь пример, который, как мы надеемся, прояснит функциональность Func<>
.)