[C#]Array.Copy()で配列の先頭に要素を追加するには?

C#

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

Array.Copy()で配列の先頭に要素を追加する方法を紹介します。

スポンサーリンク

方法

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

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
*/

コメント

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