有机会使用Func <>来提高代码可读性

Ric*_*ett 4 .net linq lambda

今天我终于"得到"了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();
Run Code Online (Sandbox Code Playgroud)

任何人都可以提供他们使用的场景的任何示例Func<>吗?

(请注意,我不主张Func<>在如上所示的简单场景中使用,它只是一个希望使功能变得Func<>清晰的示例.)

Rob*_*est 6

我想如果你要在许多地方重复使用有问题的Func,那么这样做只会有一点(而且它涉及的不仅仅是微不足道的逻辑).否则使用标准方式似乎更好,更完美可读.