毎日SEの技術ブログ

平日は社内SE、休みは自宅でサービス開発するSEの技術ブログ

IEnumerable<T>にEachメソッドを生やす

List<T>にはForEachメソッドがあるんだけどIEnumerable<T>には無いから作った。

public void Each<T>(this IEnumerable<T> values, Action<T> action)
{
    foreach(var v in values) action(v);
}

使い方

var list = new[]{"1","2","3"};
list.Each(x=>Console.WriteLine(x));

下記が通常のforeachを使った場合ですが、foreachよりコンパクトになり良い。

var list = new[]{"1","2","3"};
foreach(var x in list) 
    Console.WriteLine(x));