[C#] 配列をジェネリックコレクションのListに変換する
2020-05-03

目次
はじめに
本記事では、配列をList<T>に変換する方法をご紹介します。
System.Collections.Generic.Listクラスは配列に非常によく似た機能を持つクラスです。
格納できる要素の数が固定である配列とは異なり、動的に要素の数を増減できます。
より詳しく知りたい方は、List<T> クラス を参照ください。
配列をList<T>に変換する
/// <summary>
/// メインクラス
/// </summary>
/// <param name="args"></param>
public static void Main(string[] args)
{
List<string> list = ConvertList<List<string>>(new[] { "1", "a", "b" });
Console.WriteLine(list.GetType());
Console.WriteLine(string.Join(", ", list));
}
/// <summary>
/// 配列オブジェクトをListに変換する
/// </summary>
/// <param name="obj">配列」オブジェクト</param>
public static T ConvertList<T>(object obj)
{
if (obj is object[])
{
object[] objects = (object[]) obj;
IList list = (IList) Activator.CreateInstance(typeof(T));
foreach (object o in objects)
{
list.Add(o);
}
return (T) list;
}
return default(T);
}
上記を実行すると下記の様になります
System.Collections.Generic.List`1[System.String]
1, a, b
問題なく、配列オブジェクトをListに変換することができました。
是非試してみてください。
Posted by Kunisura
関連記事
C#を利用したAWS S3操作まとめ
はじめに 前回は、PowerShellでのAWS S3操作についてまとめました。 ...
XMLデータをDataSetに読み込む方法
はじめに UTなど、テストでXMLファイルでデータを用意することも多々あるかと思 ...
C#を利用してRSSフィードを読み込む
はじめに 今回は、Visual Studio for Macを利用してRSS情報 ...
これからC#を学ぶ人のための学習サイトおよび学習教材まとめ
はじめに 数あるプログラミング言語の中で、本稿ではC#をピックアップし、これから ...
[C#] ICompareインターフェースを使用して2つのListを比較する方法
はじめに Unitテスト時に2つのList<T>の比較をICompareイ ...