Existing LINQ extension method similar to Parallel.For?
Posted
by Joel Martinez
on Stack Overflow
See other posts from Stack Overflow
or by Joel Martinez
Published on 2008-11-25T16:07:03Z
Indexed on
2010/05/07
10:28 UTC
Read the original article
Hit count: 321
The linq extension methods for ienumerable are very handy ... but not that useful if all you want to do is apply some computation to each item in the enumeration without returning anything. So I was wondering if perhaps I was just missing the right method, or if it truly doesn't exist as I'd rather use a built-in version if it's available ... but I haven't found one :-)
I could have sworn there was a .ForEach method somewhere, but I have yet to find it. In the meantime, I did write my own version in case it's useful for anyone else:
using System.Collections;
using System.Collections.Generic;
public delegate void Function<T>(T item);
public delegate void Function(object item);
public static class EnumerableExtensions
{
public static void For(this IEnumerable enumerable, Function func)
{
foreach (object item in enumerable)
{
func(item);
}
}
public static void For<T>(this IEnumerable<T> enumerable, Function<T> func)
{
foreach (T item in enumerable)
{
func(item);
}
}
}
usage is:
myEnumerable.For<MyClass>(delegate(MyClass item) { item.Count++; });
© Stack Overflow or respective owner