挿入する位置を指定してコレクションに格納されている内容をListへ挿入したい場合にはInsertRangeメソッドを使うことが出来ます。
InsertRangeメソッドを使って複数の要素を一度にListへ挿入する
using System;
using System.Collections.Generic;
class Sample {
static void Main()
{
// 初期状態でいくつか要素が格納されているListを作成
var list = new List<string>() {"Dave", "Eve"};
// 挿入したい要素を含む配列
var arr = new string[] {"Alice", "Bob", "Charlie"};
// Listのインデックス1以降に複数の要素を挿入する (配列に含まれている内容をすべて挿入する)
list.InsertRange(1, arr);
Print(list);
}
static void Print(List<string> list)
{
foreach (var e in list) {
Console.Write("{0}, ", e);
}
Console.WriteLine();
}
}
実行結果
Dave, Alice, Bob, Charlie, Eve,
InsertRangeメソッドでコレクションの一部分だけを挿入する方法については、AddRangeメソッドでの例(§.コレクションの一部の追加)を参照してください。