如何在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 */);