ぱふの自由帳

週3更新(火・木・日)を目指すUnityブログ。良ければフォローお願いします(`・ω・´)

【C#】Listの一部をListとしてコピーする方法

はじめに

Listの一部をListとして取り出す方法についてです。

Listの一部をListとして取り出すというのは、こんな感じの操作です↓

List<int> list1 = new List<int> { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };

/*
 list1の[3]~[6]部分が欲しい
 List<int> list2 = {3, 4, 5, 6} のようなList
*/

方法

GetRange(int index, int count)を使用します。

それぞれの引数についての解説

  • 第一引数は切り取り部分のスタートとなるindex番号

  • 第二引数は切り取りたい個数

以上を踏まえて”はじめに”で挙げた例をコードに直したいと思います。

List<int> list1 = new List<int> { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
List<int> list2 = list1.GetRange (3, 4);

// list2 -> {3, 4, 5, 6} となる

おわり

簡単ですねー。
同じことを配列でやろうとすると...Copyという関数を使うのが手っ取り早いのかな?

気になる方はググってみてくださーい!