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

C#でコレクションを配列にコピーする方法【CopyTo()メソッドの使い方】

C#でListなどのコレクションを配列にコピーするには、CopyTo()メソッドを使用します。まずは、コピー元となるコレクション(リスト)を作成しましょう。

List<string> list1 = new List<string>();
list1.Add("Car");
list1.Add("Bus");
list1.Add("Motorbike");
list1.Add("Train");

配列を宣言してCopyTo()メソッドでコピーする

続いて、コピー先となる文字列型の配列を宣言し、CopyTo()メソッドを呼び出してコピーを行います。ここでは要素数20の配列を用意しています。

string[] arr = new string[20];
list1.CopyTo(arr);

これで、リスト内のすべての要素が配列「arr」の先頭から順番にコピーされます。

完全なサンプルコード

以下は、コレクションを配列にコピーする一連の流れをまとめたサンプルコードです。

using System;
using System.Collections.Generic;
using System.Linq;

public class Demo {
    public static void Main() {
        List<string> list1 = new List<string>();
        list1.Add("Car");
        list1.Add("Bus");
        list1.Add("Motorbike");
        list1.Add("Train");

        Console.WriteLine("First list...");
        foreach(string value in list1) {
            Console.WriteLine(value);
        }

        string[] arr = new string[20];
        list1.CopyTo(arr);

        Console.WriteLine("After copy...");

        foreach(string value in arr) {
            Console.WriteLine(value);
        }
    }
}

実行結果

First list...
Car
Bus
Motorbike
Train
After copy...
Car
Bus
Motorbike
Train

利用時の注意点

  • コピー先の配列には、コレクションの要素数以上の容量が必要です。容量が不足している場合は ArgumentException がスローされます。
  • CopyTo(配列名, 開始インデックス) の形式のオーバーロードを使用すれば、配列内の任意の位置からコピーを開始することもできます。
  • コピー後は元のコレクションと配列がそれぞれ独立したデータとなるため、片方を変更してももう片方には影響しません。
  1. JavaのJSON-lib APIを使ってコレクションをJSON配列に変換する方法

    net.sf.json.JSONArrayは、値の順序付きシーケンス(ordered sequence)を表すクラスです。外部形式としては、角括弧 [ ] で囲まれ、各値がカンマで区切られた文字列として表現されます。一方、内部形式では get() メソッドや opt() メソッドを使ってインデックスを指定して値にアクセスでき、element() メソッドによって値の追加や置換を行うことができます。 JSONArrayに格納できる値の型は、Boolean、JSONArray、JSONObject、Number、String、および JSONNull オブジェクトなど多岐にわたります。 JSON-

  2. JavaのオブジェクトモデルでJSON配列を作成する方法

    javax.json.JsonArrayインターフェースはイミュータブル(変更不可)なJSON配列を表現し、配列内の値に対する変更不可能なリストビューを提供します。JsonArrayオブジェクトは、入力ソースからJSONデータを読み込むことでも作成できますが、javax.json.Jsonクラスが提供する静的メソッドcreateArrayBuilder()を使って生成することも可能です。プログラムを実行するには、javax.jsonパッケージ(javax.json-api.jarファイルをダウンロードしてクラスパスに追加)をインポートする必要があります。 構文 public static Js