Listを配列に変換する必要性が生じた場合は、ToArrayメソッドを使うことができます。 ToArrayメソッドを呼び出すと、Listの内容と同じ内容をもつ配列を取得することができます。
Listを配列に変換する
using System;
using System.Collections.Generic;
class Sample {
static void Main()
{
// 空のListを作成
var list = new List<string>();
// Listに要素を追加
list.Add("Alice");
list.Add("Bob");
list.Add("Charlie");
// Listの内容を配列に変換
var arr = list.ToArray();
Console.WriteLine(string.Join(", ", arr));
}
}
実行結果
Alice, Bob, Charlie
引数の型が配列となっているメソッドにListの内容を渡したい場合などにはToArrayメソッドを使う必要があります。 一方、引数の型がIEnumerable<T>となっている場合は配列と同様にListをそのまま渡すことができるため、この場合はToArrayメソッドによって配列に変換する必要はありません。
例えば上記の例で使用しているString.Joinメソッドも、.NET Framework 4以降ではIEnumerable<T>
を引数にとることができるようになっているので、わざわざ配列に変換することなく直接Listを渡すことができます。
String.Joinメソッドについては文字列の加工・編集 §.結合 (Join)を参照してください。