1. ホーム
  2. linq

[解決済み] IEnumerable<T>のforeachのLINQでの等価性

2022-03-23 23:26:59

質問

LINQで以下に相当することを行いたいのですが、方法がわかりません。

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

本当の構文とは?

どのように解決するのですか?

のForEachエクステンションはありません。 IEnumerable のみです。 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);
    }
}