【C#】配列とリストの特徴、配列をリストに変換、リストを配列に変換

C#

配列とリストの特徴と違い

配列(Array)

配列は、同じ型の要素を固定した数だけ格納するためのデータ構造です。C#における配列の特徴は以下の通りです。

  • 固定サイズ:作成時にサイズが決まり、後から変更することができません。
  • 直接アクセス:インデックスを使って、任意の要素に直接アクセスできます。
  • 効率的なメモリ使用:メモリ上に連続した領域にデータが格納されるため、メモリ効率が良いです。

リスト(List)

リストは、System.Collections.Generic名前空間にあるList<T>クラスを使用します。リストの特徴は以下の通りです。

  • 動的サイズ:要素の追加や削除によって、リストのサイズを柔軟に変更できます。
  • 簡単な要素の操作AddRemoveFindなどのメソッドを利用して、要素の操作が簡単に行えます。
  • オーバーヘッドあり:動的なサイズ変更のため、配列と比較してメモリ効率が若干劣ることがあります。
  • 直接アクセス:配列と同様に、インデックスを使って任意の要素に直接アクセスすることも可能。

配列とリストの違いと使い分け

配列とリストは、以下のような違いがあります。

  • サイズの柔軟性:配列は固定サイズ、リストは動的サイズ。
  • パフォーマンス:配列は要素へのアクセスが高速ですが、リストは要素の追加や削除が容易。

使い分けとしては、要素数が変わらない場合は配列、頻繁に要素を追加・削除する場合はリストが適しています。

配列とリストの変換

配列をリストに変換

配列をリストに変換するには、List<T>クラスのコンストラクタを利用します。以下はそのサンプルコードです。

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // 配列を定義
        int[] array = { 1, 2, 3, 4, 5 };

        // 配列からリストへ変換
        List<int> list = new List<int>(array);

        // リストの内容を表示
        foreach (int item in list)
        {
            Console.WriteLine(item);
        }
    }
}

リストを配列に変換

リストを配列に変換するには、List<T>ToArrayメソッドを利用します。以下はそのサンプルコードです。

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // リストを定義
        List<int> list = new List<int> { 1, 2, 3, 4, 5 };

        // リストから配列へ変換
        int[] array = list.ToArray();

        // 配列の内容を表示
        foreach (int item in array)
        {
            Console.WriteLine(item);
        }
    }
}
タイトルとURLをコピーしました