【发布时间】:2017-12-27 10:59:14
【问题描述】:
public static IEnumerable<T> Pipe<T>(this IEnumerable<T> source, Action<T> action)
{
return _(); IEnumerable <T> _()
{
foreach (var element in source)
{
action(element);
yield return element;
}
}
}
我在 MoreLinq 存储库中找到了这段代码,但无法理解这一行:
return _(); IEnumerable <T> _()
【问题讨论】:
-
将其分成两行(分号后),然后将所有出现的
_替换为enumerate -
@KevinGosse - 如果您没有跟上 C# 7 (Local functions) 的速度,即使在这样做之后也可能不会立即清楚。
-
谢谢!但那有什么意义呢?我们不能只用
foreach和yield return做吗?