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

【C#入門】Array.Copy()メソッドで配列の一部を別の配列にコピーする方法

C#では、Array.Copy()メソッドを使うことで、ある配列の一部(セクション)を別の配列へ簡単にコピーできます。このメソッドはSystem名前空間に属するArrayクラスの静的メソッドであり、インスタンスを生成せずに直接呼び出せるのが特徴です。

Array.Copy()メソッドの基本構文

Array.Copy(src, dest, length);

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

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

  • dest … コピー先の配列

  • length … コピーする要素数

使用例

次のサンプルコードでは、要素数4の整数型配列から、先頭2つの要素を要素数2の別の配列へコピーしています。

using System;

class Program {
    static void Main() {
        // コピー元の配列を作成
        int[] arrSource = new int[4];
        arrSource[0] = 1;
        arrSource[1] = 2;
        arrSource[2] = 3;
        arrSource[3] = 4;

        // コピー先の配列を作成
        int[] arrTarget = new int[2];

        // 先頭から2つの要素をコピー
        Array.Copy(arrSource, arrTarget, 2);

        Console.WriteLine("コピー先の配列 ...");
        foreach (int value in arrTarget) {
            Console.WriteLine(value);
        }
    }
}

実行結果

コピー先の配列 ...
1
2

ポイントと注意点

  • lengthに指定した要素数が、コピー元・コピー先どちらかの範囲を超える場合は、ArgumentException例外がスローされます。

  • コピー元またはコピー先がnullの場合は、ArgumentNullExceptionが発生します。

  • 多次元配列にも対応しており、オーバーロードを使用すれば開始インデックスを指定した部分コピーも可能です。

このように、Array.Copy()メソッドを活用すれば、ループ処理を書かずに配列間のデータ転送を簡潔かつ高速に実装できます。

  1. 【保存版】PowerPointプレゼンテーション同士をリンクしてシームレスに切り替える方法

    プレゼンテーションから別のプレゼンテーションへ切り替える際に長い間が空いてしまうと、せっかくのプレゼン全体の印象が台無しになりかねません。あらかじめ2つのプレゼンテーションをリンクしておけば、貴重な時間を節約できるだけでなく、切り替えもスムーズに行えます。この記事では、Microsoft Office PowerPointであるプレゼンテーションを別のプレゼンテーションにリンクする方法を、手順を追って詳しく解説します。PowerPointプレゼンテーション同士をリンクする基本手順本番で慌てないためには、事前準備が何よりも大切です。プレゼンテーションをリンクする前に、まず両方のプレゼンテーション

  2. Macでペアレンタルコントロール設定を別のアカウントにコピーする方法

    Macのペアレンタルコントロール(保護者による使用制限)機能を使うと、Mac上の各アカウントに対して制限をかけることができます。特定のユーザーアカウントがMacで何をできるのか、何ができないのかを細かく設定できるため、望ましくない操作からMacを守るための有効な手段となります。Macに複数のアカウントがある場合、すでにいくつかのアカウントでペアレンタルコントロールを有効にしているかもしれません。そこへ新しくアカウントを作成し、同じ制限設定を適用したいときは、Macの「設定をコピー」機能を使えば、あるアカウントから別のアカウントへペアレンタルコントロールの設定を簡単に複製できます。一から設定し直