.NET Framework/ForEach拡張メソッド

提供: MonoBook
移動: 案内検索

概要[編集]

ジェネリクスと拡張メソッドの例題として定番となっている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);
            }
        }
    }

関連項目[編集]

参考文献[編集]