2012/05/10

IEnumerable.ConvertAll を作ろうかと思ったら

ConvertAll って便利ですよね。
var numbers = new List<int>() { 1, 2, 3, 4, 5 };
numbers.ConvertAll<String>(n => n.ToString() + n.ToString()).ForEach(Console.WriteLine);
結果は↓
11
22
33
44
55
でも、これはListのメソッドなので IEnumerable だと、ToList をかましてからでないと利用できない。
仕方ないので拡張メソッド書くかと思って、みんなどうしてるのか調べてみたら Select で同じ事できたのね。
IEnumerable<int> numbers = new List<int>() { 1, 2, 3, 4, 5 };
// IEnumerable<T>.ForEach は実装済み
numbers.Select<int, String>(n => n.ToString() + n.ToString()).ForEach(Console.WriteLine);

0 件のコメント :

コメントを投稿