C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#で配列をコピーする方法|Array.Copyメソッドの使い方を解説

C#では、Array.Copyメソッドを使うことで、ある配列の一部(または全体)を別の配列へ簡単にコピーできます。この記事では、Array.Copyメソッドの基本的な使い方を、サンプルコードと実行結果付きでわかりやすく解説します。

配列コピーの基本構造

まず、コピー元となる元の配列を用意します。ここでは要素数10個の整数型配列を定義します。

int[] n = new int[10]; /* n は 10 個の整数を持つ配列 */

次に、コピー先となる新しい配列です。こちらは元の配列の一部を格納するため、要素数は5個にします。

int[] m = new int[5]; /* m は 5 個の整数を持つ配列 */

Array.Copyメソッドの引数について

Array.Copy() メソッドには、以下の引数を指定します。

  • 第1引数: コピー元の配列
  • 第2引数: コピー元の開始インデックス
  • 第3引数: コピー先の配列
  • 第4引数: コピー先の開始インデックス
  • 第5引数: コピーする要素数

つまり、コピー元とコピー先の配列を指定し、さらに元の配列のどの位置から何個の要素をコピーするかを指定することで、柔軟な配列コピーが可能になります。

サンプルコード

実際にC#で配列コピーを実装した例が以下のコードです。そのまま実行して動作を確認できます。

using System;
namespace ArrayApplication {
    class MyArray {
        static void Main(string[] args) {
            int[] n = new int[10]; /* n は 10 個の整数を持つ配列 */
            int[] m = new int[5];  /* m は 5 個の整数を持つ配列 */

            for (int i = 0; i < 10; i++) {
                n[i] = i + 100;
            }

            Console.WriteLine("元の配列...");
            foreach (int j in n) {
                int i = j - 100;
                Console.WriteLine("Element[{0}] = {1}", i, j);
            }

            // n の先頭から 5 要素を m へコピー
            Array.Copy(n, 0, m, 0, 5);

            Console.WriteLine("新しい配列...");
            foreach (int res in m) {
                Console.WriteLine(res);
            }

            Console.ReadKey();
        }
    }
}

実行結果

上記プログラムを実行すると、次のような出力が得られます。元の配列から先頭5つの要素(100〜104)だけが新しい配列にコピーされていることが確認できます。

元の配列...
Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109
新しい配列...
100
101
102
103
104

まとめ

Array.Copyメソッドを使えば、コピー元・コピー先の配列とインデックス、要素数を指定するだけで、配列の一部を簡単に複製できます。配列全体をコピーしたい場合も、要素数に配列の長さを指定すれば対応可能です。ぜひ実際にコードを書いて、挙動を試してみてください。

  1. C#の多次元配列とは?2次元配列の宣言方法と使い方を実例付きで解説

    C#では、多次元配列を扱うことができます。int型の2次元配列は、次のように宣言します。int[] a;多次元配列の中で最もシンプルな形式が2次元配列です。2次元配列とは、1次元配列を要素として持つ配列、すなわち「配列の配列」のような構造をイメージすると分かりやすいでしょう。例えば、次の図は3行4列の2次元配列を表しています。多次元配列の使用例ここからは、実際にC#で多次元配列を操作するサンプルコードを見ていきましょう。以下の例では、5行2列の2次元配列を宣言・初期化し、入れ子になったforループですべての要素を出力します。using System; namespace ArrayApplic

  2. Pythonで学ぶ畳み込み(Convolution)の基礎:画像から特徴を抽出する仕組みと実装

    本記事では、Python 3.x(またはそれ以前のバージョン)における「畳み込み(Convolution)」について解説します。畳み込みは、ニューラルネットワークや画像の特徴抽出において中心的な役割を果たす基本的な操作です。推奨環境 − Jupyter Notebook前提条件 − NumPy および Matplotlib がインストール済みであることインストール方法必要なライブラリが未インストールの場合は、以下のコマンドで導入できます。>>> pip install numpy >>> pip install matplotlib畳み込みとは畳み込みとは、