web-dev-qa-db-ja.com

C#の既存のリストに無数のコレクションを追加する方法

iEnumerableコレクションを返す3つの関数があります。これらすべてを1つのリストにまとめたいと思います。それで、IEnumerableのアイテムをリストに追加できる方法はありますか。私は各ループなしを意味しますか?

20
Radhi

ええと、somethingはループする必要があります...しかしLINQでは簡単に ConcatToList 拡張メソッド:

var bigList = list1.Concat(list2).Concat(list3).ToList();

これにより、existingにアイテムを追加するのではなく、newリストが作成されることに注意してください。 )リスト。それらを既存のリストに追加する場合は、 List<T>.AddRange おそらくあなたが求めているものです:

bigList.AddRange(list1);
bigList.AddRange(list2);
bigList.AddRange(list3);
30
Jon Skeet

すでにリストがある場合:

list.AddRange(yourCollectionToAppend);

2つの列挙可能ファイルがあり、リストをまだ作成していない場合:

firstCollection.Concat(secondCollection).ToList();
6
driis