はじめに
本記事では、配列をList
System.Collections.Generic.Listクラスは配列に非常によく似た機能を持つクラスです。
格納できる要素の数が固定である配列とは異なり、動的に要素の数を増減できます。
より詳しく知りたい方は、List
配列をListに変換する
/// <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に変換することができました。
是非試してみてください。