Question
I'd like to do the equivalent of the following in LINQ, but I can't figure out how:
IEnumerable- items = GetItems();
items.ForEach(i => i.DoStuff());
What is the real syntax?
Answer
1. LINQ is all about query data, while ForEach method is about manipulation (cause side effects)!
2. There is no ForEach extension for IEnumerable; only for List
. So you could do
items.ToList().ForEach(i => i.DoStuff());
Alternatively, write your own ForEach extension method:
public static void ForEach(this IEnumerable enumeration, Action action)
{
foreach(T item in enumeration)
{
action(item);
}
}
Source
No comments:
Post a Comment