ToArrayメソッドを使うと、Listと同じ内容の配列を作成することができます。 このメソッドは、現在Listに格納されている内容をコピーした配列を返します。
ToArrayメソッドを使ってListの内容を配列に変換する
using System;
using System.Collections.Generic;
class Sample {
static void Main()
{
var list = new List<string>() {"Alice", "Bob", "Charlie", "Dave"};
list.Add("Eve");
// Listの内容を配列に変換
var arr = list.ToArray();
// 変換した配列の内容を表示
Console.WriteLine("Length = {0}", arr.Length);
foreach (var e in arr) {
Console.WriteLine(e);
}
}
}
実行結果
Length = 5 Alice Bob Charlie Dave Eve
このメソッドでは簡易コピーが行われるため、参照型を要素に持つListの場合は参照のみがコピーされます。 簡易コピーについてより詳しくはオブジェクトの複製で解説しています。
このメソッドではAsReadOnlyメソッド等とは異なり、Listに対するビューを返すのではなく、同じ内容を持つ配列を作成します。 そのため、作成元のListと作成後の配列のどちらかに変更を加えた場合でも、もう一方に影響することはありません。