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

发布于 2024-08-26 18:49:41 字数 185 浏览 8 评论 0原文

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

ObservableCollection中没有 foreach 方法;尽管此方法与 List一起存在。

有没有可用的扩展方法?

How do I execute a foreach lambda expression on ObservableCollection<T>?

There is not method of foreach with ObservableCollection<T> although this method exists with List<T>.

Is there any extension method available?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

笑脸一如从前 2024-09-02 18:49:41

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));

There is no method available by default in the BCL but it's straight forward to write an extension method which has the same behavior (argument checking omitted for brevity)

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

Use case

ObservableCollection<Student> col = ...;
col.ForEach(x => Console.WriteLine(x.Name));
疾风者 2024-09-02 18:49:41
public static class EnumerableExtensions
{
    public static void ForEach<T>(this IEnumerable<T> enumerable, Action<T> action)
    {
        foreach (var e in enumerable)
        {
            action(e);
        }
    }
}
public static class EnumerableExtensions
{
    public static void ForEach<T>(this IEnumerable<T> enumerable, Action<T> action)
    {
        foreach (var e in enumerable)
        {
            action(e);
        }
    }
}
狂之美人 2024-09-02 18:49:41
observableCollection.ToList().ForEach( item => /* do something */);
observableCollection.ToList().ForEach( item => /* do something */);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文