[C#]配列の特定の範囲をコピーするには?

C#

どうも、ちょげ(@chogetarou)です。

配列(array)の指定した範囲をコピーする方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

配列(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

コメント

タイトルとURLをコピーしました