可能的重复:
为什么 IEnumerable 接口上没有 ForEach 扩展方法? https://stackoverflow.com/questions/101265/why-is-there-not-a-foreach-extension-method-on-the-ienumerable-interface
Hello,
我的问题是为什么 Foreach 扩展方法是在 List 而不是 IEnumerable 上定义的。我读过埃里克·利珀特的article https://ericlippert.com/2009/05/18/foreach-vs-foreach/但关键是,如果有这样的方法那么糟糕,那么为什么 List 还要有这样的方法呢?
List<T>.ForEach()
不是扩展方法。这只是一个方法List<T>
.
它在 LINQ 中不可用的主要原因之一(即,Enumerable
)是 LINQ 查询应该没有副作用(因此您可以多次执行查询并获得相同的结果而不更改它们),这使得它们非常可组合。所有接受委托的 LINQ 操作都是为了Func
;他们都不接受Action
代表。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)