どうも、ちょげ(@chogetarou)です。
Array.Copy()で配列の先頭に要素を追加する方法を紹介します。
方法

Array.Copy()で配列の先頭に要素を追加するには、Lengthプロパティを使います。
まず、新しい配列を生成します。
配列の長さは、対象の配列のLengthプロパティに「+1」した値を指定します。
int[] result = new int[array.Length + 1];
生成した配列のインデックス「0」に、追加する要素を代入します。
result[0] = value;
次に、Array.Copy()を呼び出します。
Array.Copy()の第1引数に対象の配列、第2引数に0を指定します。
そして、Array.Copy()の第3引数に新しい配列、第4引数に1、第5引数に対象の配列のLengthプロパティを指定します。
Array.Copy(array, 0, result, 1, array.Length);
ここまでの処理で、対象の配列の先頭に要素を追加した新しい配列が作れます。
使用例
using System;
public class Example
{
public static void Main()
{
int[] numbers = new int[4]{ 2, 3, 4, 5};
int[] result = new int[numbers.Length + 1];
result[0] = 1;
Array.Copy(numbers, 0, result, 1, numbers.Length);
foreach(var x in result)
{
Console.WriteLine(x);
}
}
}
/*
出力:
1
2
3
4
5
*/
コメント