如何在ObservableCollection 上执行foreach lambda表达式?

如何在ObservableCollection 上执行foreach lambda表达式?

尽管此方法与List 一起存在,但没有使用ObservableCollection 的foreach方法。

有没有可用的扩展方法?

在BCL中默认没有可用的方法,但是直接编写具有相同行为的扩展方法(为简洁起见省略了参数检查)

 public static void ForEach(this IEnumerable enumerable, Action action) { foreach ( var cur in enumerable ) { action(cur); } } 

用例

 ObservableCollection col = ...; col.ForEach(x => Console.WriteLine(x.Name)); 
 public static class EnumerableExtensions { public static void ForEach(this IEnumerable enumerable, Action action) { foreach (var e in enumerable) { action(e); } } } 
 observableCollection.ToList().ForEach( item => /* do something */);