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

C#のArray.Copy()メソッドで配列をコピーする方法

C#のArray.Copy()メソッドは、その名の通り、ある配列の要素を別の配列へコピーするために使用されます。forループなどで手動的に要素を移し替えることなく、1行の呼び出しだけで配列間のデータ複製を実現できる、非常に便利なメソッドです。

構文

Array.Copy(src, dest, length);

各パラメータの意味は以下の通りです。

  • src:コピー元となる配列

  • dest:コピー先の配列

  • length:コピーする要素数

なお、Array.Copy()メソッドには複数のオーバーロードが用意されており、コピー元・コピー先それぞれの開始インデックスを指定した部分コピーも可能です。ここでは、最も基本的な3つの引数を取る形式を紹介します。

サンプルコード

以下は、C#で配列クラスのCopy(,,)メソッドを使用する例です。コピー元のint型配列から、同じサイズのコピー先配列へ全要素をコピーしています。

using System;
class Program {
   static void Main() {
      int[] arrSource = new int[4];
      arrSource[0] = 99;
      arrSource[1] = 66;
      arrSource[2] = 111;
      arrSource[3] = 33;
      int[] arrTarget = new int[4];
      Array.Copy(arrSource, arrTarget, 4);
      Console.WriteLine("Destination Array ...");
      foreach (int value in arrTarget) {
         Console.WriteLine(value);
      }
   }
}

実行結果

Destination Array ...
99
66
111
33

このように、Array.Copy(arrSource, arrTarget, 4)と呼び出すことで、コピー元配列arrSourceの先頭から4つの要素が、コピー先配列arrTargetへ正しく複製されていることが確認できます。コピー先の配列は、コピーする要素数以上のサイズをあらかじめ確保しておく必要がある点に注意しましょう。

  1. JavaのStringクラスsubstring()メソッドの使い方を徹底解説

    substring()メソッドは、元の文字列の開始インデックス(beginIndex)から終了インデックス(endIndex)までの部分に対応するString型の値を返します。終了インデックスが指定されていない場合は、文字列の末尾までが切り出しの対象となります。Javaの文字列は0番目の位置からインデックスが始まるという点に注意しましょう。 構文 public String substring(int beginIndex) public String substring(int beginIndex, int endIndex) beginIndex: 部分文字列の切り出しを開始する位置を示

  2. Rubyのuniqメソッドで配列の重複を削除する方法【ブロック・複数条件の使い方も解説】

    Rubyのuniqメソッドとは? Rubyのuniqメソッドを使うと、配列に含まれる重複した要素をすべて取り除くことができます。この記事では、基本的な使い方から、ブロックを活用した応用テクニック、さらに内部の動作原理まで、具体例を交えながらわかりやすく解説します。 基本の使い方 まずは、次のような配列を例に見てみましょう。 n = [1, 1, 1, 2, 3, 4, 5] この配列では、数値の1が重複しています。 uniqメソッドを呼び出すと、余分な1が取り除かれ、ユニークな要素だけを持つ新しい配列が返されます。 実行例: n.uniq # [1, 2, 3, 4, 5] uniq