【发布时间】:2010-03-25 21:12:25
【问题描述】:
如何在 ObservableCollectionforeach lambda 表达式?
没有foreach 和 ObservableCollection
有没有可用的扩展方法?
【问题讨论】:
标签: c# silverlight observablecollection
如何在 ObservableCollectionforeach lambda 表达式?
没有foreach 和 ObservableCollection
有没有可用的扩展方法?
【问题讨论】:
标签: c# silverlight observablecollection
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));
【讨论】:
public static class EnumerableExtensions
{
public static void ForEach<T>(this IEnumerable<T> enumerable, Action<T> action)
{
foreach (var e in enumerable)
{
action(e);
}
}
}
【讨论】:
observableCollection.ToList().ForEach( item => /* do something */);
【讨论】: