如何在ObservableCollection< T>上执行foreach
lambda表达式?
没有foreach
方法与ObservableCollection< T>虽然此方法与List< T>。
是否有可用的扩展方法?
答案 0 :(得分:16)
BCL中默认没有可用的方法,但是直接编写一个具有相同行为的扩展方法(为简洁省略了参数检查)
public static void ForEach<T>(this IEnumerable<T> enumerable, Action<T> action) {
foreach ( var cur in enumerable ) {
action(cur);
}
}
用例
ObservableCollection<Student> col = ...;
col.ForEach(x => Console.WriteLine(x.Name));
答案 1 :(得分:5)
public static class EnumerableExtensions
{
public static void ForEach<T>(this IEnumerable<T> enumerable, Action<T> action)
{
foreach (var e in enumerable)
{
action(e);
}
}
}
答案 2 :(得分:1)
observableCollection.ToList().ForEach( item => /* do something */);