操作のために配列のセクションを引き出したいと思います。
例: 50 個のアイテムを含む配列から、アイテム 12 から 22 を新しい配列で返したい
私は現在、遅いと想定しているLINQを使用しています:
return fullArray.Skip(12).Take(22).ToArray();
より速い方法はありますか?
Array.Copy Method (Array, Int32, Array, Int32, Int32)
メソッドを使用できます。
指定されたコピー元インデックスから始まる配列から要素の範囲をコピーし、指定されたコピー先インデックスから始まる別の配列にそれらを貼り付けます。長さとインデックスは 32 ビット整数として指定されます。
例えば;
int[] array1 = new int[50];
int[] array2 = new int[10];
Array.Copy(array1, 12, array2, array2.GetLowerBound(0), 10);