single.php

C#で配列とリストを変換する方法

C#で配列からリスト、リストから配列に変換する方法について備忘録的に投稿します。

配列とリストの違い

どちらも数値や画像などのデータを並べて管理する変数の形態ですが、それぞれに違いがあります。

もっとも大きな違いは、追加できる数が固定であるか可変であるかという部分です。

配列は、最初に数を設定して初期化を行いデータを追加していきます。

例えば、string[] は次の様にして定義をします。

string[] arr = new string[10];

Resizeメソッドで数を変更することができますが、最初に確保してから使うことには変わりません。

それに対してリストは、可変長なのでAddメソッドでデータを順次追加していくことができます。

配列からリストへ変換

例えば、こんな感じで string[] から List<string> に変更することができます。

string[] arr = {"one", "two", "three", "four", "five"};

List<string> list = new List<string>(arr);

他にも、.toList メソッドを使ってリストから配列に変換できます。

string[] arr = {"one", "two", "three", "four", "five"};
List<string> List = arr.ToList();

リストから配列へ変換

例えば、こんな感じで List<string> から string[] に変更することができます。

List<string> list = new List<string>();
list.add("one");
list.add("two");
list.add("three");
list.add("four");
list.add("five");

string[] arr = list.toArray();

まとめ

配列とリスト、どちらもデータを並べて管理する変数の形態ですが固定長と可変長でどちらも一長一短があります。

それぞれを変換する方法が用意されているので、コードの流れで適宜使い分けを行うことができます。

C#で配列とリストを変換したい方の参考になれば幸いです。

スポンサーリンク

最後までご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です