IEnumerable<T> 的 foreach 的 LINQ 等效项

标签 linq foreach ienumerable

我想在 LINQ 中执行与以下操作相同的操作,但我不知道如何操作:

IEnumerable<Item> items = GetItems();
items.ForEach(i => i.DoStuff());

真正的语法是什么?

最佳答案

IEnumerable 没有 ForEach 扩展;仅限List<T> 。所以你可以这样做

items.ToList().ForEach(i => i.DoStuff());

或者,编写您自己的 ForEach 扩展方法:

public static void ForEach<T>(this IEnumerable<T> enumeration, Action<T> action)
{
    foreach(T item in enumeration)
    {
        action(item);
    }
}

关于IEnumerable<T> 的 foreach 的 LINQ 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/200574/

相关文章:

.net - IEqualityComparer.Equals 与 IEnumerable.Contains 一起使用时,x 或 y 是列表中的值吗?

c# - 在多重限制下检索大量记录,不会导致内存不足异常

c# - Linq如何将两列的所有值移动到另一个表

c# - 外部连接

asp.net - 如何从 C# 更改 DataTable 中列的格式 DateTime

c# - 如何使用 LINQ 处理 IDisposable 的序列?

c# - 使用 linq 从列表中获取值的总和?

codeigniter - 使用关联数组的多个 LIKE db 查询 - 但都来自相同的列名......?

php - 检索 MYSQL 字段数组 "Like"

c# - 为什么我不能将 IEnumerable<T> 列表转换为 BindingList<t>?