.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);
            }
        }
    }

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]