どうも、ちょげ(@chogetarou)です。
配列(array)の指定した範囲をコピーする方法を紹介します。
方法
配列(array)の指定した範囲をコピーするには、Array.Copy()を使います。
まず、Array.Copy()を呼び出します。
そして、Array.Copy()の5つの引数に値を指定します。
- 第1引数:コピー元の配列
- 第2引数:コピーする範囲の最初の位置(インデックス)
- 第3引数:コピー先の配列
- 第4引数:コピーを挿入する最初の位置
- 第5引数:コピーする要素数(範囲の最初の位置からいくつコピーするか)
//original=対象の配列, startIndex=範囲の最初の位置,
//copyStart=コピーを挿入する最初の位置, length=コピーする要素数
Array.Copy(original, start, copy, copyStart, length);
上記のArray.Copy()は、コピー先の配列(array)に指定した範囲をコピーします。
もし、空の配列に特定の範囲をコピーする場合は、第4引数に「0」を指定します。
//コピー先が空の配列の場合
Array.Copy(original, start, copy, 0, length);
使用例
using System;
public class Example
{
public static void Main()
{
int[] nums = new int[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int[] copy = new int[5];
int start = 3;
int length = 5;
Array.Copy(nums, start, copy, 0, length);
foreach(int item in copy)
{
Console.WriteLine(item);
}
}
}
出力:
4
5
6
7
8
コメント