ForEach——你在哪里
本文关键字:你在哪里 ForEach | 更新日期: 2023-09-27 18:01:59
可能重复:
为什么IEnumerable接口上没有ForEach扩展方法?
我喜欢List<T>在C#中。这怎么不是IEnumerable<T>?
为什么我必须调用集合的.ToList((才能对每个元素调用操作?请告诉我为什么?非常感谢。
List<T>.ForEach(Action<T> action);
语言集成查询(LINQ(。不是语言集成扩展(LIE(。
您特别提到了LINQ对象。其他LINQ(到SQL、到XML(等在实现任意逻辑时会遇到更多困难。
不过,没有什么能阻止你自己实现它。
public static class Extensions
{
public static void ForEach<T> (this IEnumerable<T> items, Action<T> action)
{
foreach (T item in items)
{
action (item);
}
}
}
关于这个话题有很多讨论:
参见:
- IEnumerable<的foreach的LINQ等价物;T>
- 使用Foreach子句的Lambda表达式