SkipメソッドとTakeメソッドを使ってコレクションの一部をListに追加する 言語: C# VB AddRangeメソッドでは、指定されたコレクションのすべての内容を追加します。 一部分だけを追加することができるオーバーロードは用意されていません。 LINQのSkipメソッドとTakeメソッドを使ってコレクションの一部を取り出すことにより、一部分だけをListに追加することができます。 この方法はListだけでなく配列を含む任意のコレクションに対して用いることができます。 SkipメソッドとTakeメソッドを使ってコレクションの一部をListに追加する すべて選択してコピー ダウンロード 行番号を表示する using System; using System.Collections.Generic; using System.Linq; class Sample { static void Main() { // Listへ格納したい内容をもったコレクション var source = new List<int>() {0, 1, 2, 3, 4}; // 追加先となるList var list = new List<int>(); // sourceのインデックス1から3つ分の要素をlistに追加する // (sourceの先頭から1つ分の要素はスキップし、それに続く3つの要素を取り出して追加する) list.AddRange(source.Skip(1).Take(3)); Print(list); } static void Print(List<int> list) { foreach (var e in list) { Console.Write("{0}, ", e); } Console.WriteLine(); } } 実行結果 1, 2, 3, 関連するページ Insertメソッドを使ってListに要素を挿入する AddRangeメソッドを使って複数の要素を一度にListへ追加する AddRangeメソッドをふたつのListを結合したListを作成する GetRangeメソッドを使ってListの一部を別のListに追加する ArraySegment構造体を使って配列の一部をListに追加する InsertRangeメソッドを使って複数の要素を一度にListへ挿入する List内の要素の値を変更する