メインメニューを開く

目次

概要編集

ジェネリクスと拡張メソッドの例題として定番となっているForEach拡張メソッドである。 ググれば大量に出てくるため初出はどこかわからない。

ちょっと前に出た.NET Framework 4.6では公式にIList<T>へForEachメソッドが追加されたようだ。だが、いちいちToList()するのヤダーだの、2015年10月時点のXamarin.iOSXamarin.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);
            }
        }
    }

関連項目編集

参考文献編集