0

POCO オブジェクトがあり、数値入力に基づいて、このオブジェクトをこのオブジェクト タイプのリストにコピーしたいと考えています。ループを使用する以外にエレガントな方法はありますか?

4

1 に答える 1

11

簡潔な答え:

list.AddRange(Enumerable.Repeat(item, count));

例:

var list = new List<int>();

list.Add(0); // 0
list.Add(1); // 0, 1
list.Add(2); // 0, 1, 2

var item = 5;
var count = 3;

list.AddRange(Enumerable.Repeat(item, count)); // 0, 1, 2, 5, 5, 5

ノート:

参照オブジェクトの場合、これは同じオブジェクトを x 回追加します。新しいオブジェクトを x 回作成して追加する場合は、次のようにします。

list.AddRange(Enumerable.Repeat(0, count).Select(x => new MyObject()));
于 2012-06-21T01:59:07.670 に答える