2015年06月28日

LINQ to Objectサンプル(15): リストを一定の値で埋める

  
リストの要素を一定に値(ここでは-1)で埋めるコードを示します。

■ループを使ったコード
var list = new List<int>();
for (int i = 1; i <= 20; i++) {
    list.Add(-1);
}
list.ForEach(Console.WriteLine);


■LINQを使ったコード
var list = Enumerable.Repeat(-1, 20).ToList();
list.ForEach(Console.WriteLine);

Enumerable.Repeatメソッドで、同じ値を繰り返すシーケンスを作り出し、ToLIst()でリストに変換しています。ToArray()を使えば、配列に変換できます。
この例では、ループを使ったコードと等価にするために、あえてToListメソッドを使っていますが、IEnumerableのまま利用できるのであれば、あえて、リストや配列にすること必要はありません。

特定の文字列で埋めたいときにも同じです。
var list = Enumerable.Repeat("(unknown)" , 20).ToList();
list.ForEach(Console.WriteLine);



 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/52423419