.NET Framework/ForEach拡張メソッド
目次
概要編集
ジェネリクスと拡張メソッドの例題として定番となっているForEach拡張メソッドである。 ググれば大量に出てくるため初出はどこかわからない。
ちょっと前に出た.NET Framework 4.6では公式にIList<T>へForEachメソッドが追加されたようだ。だが、いちいちToList()するのヤダーだの、2015年10月時点のXamarin.iOSやXamarin.Macなんかはまだ対応していないだのでやっぱり独自実装がよいようだ。なお、なぜ公式実装がIEnumerable<T>ではなくIList<T>への追加なのかは謎に包まれている。
実装編集
public static class IEnumerableExtensions
{
public static void ForEach<T>(this IEnumerable<T> source, Action<T> action)
{
foreach (var item in source)
{
action(item);
}
}
}