強く型付けされたList<T>
を同じ型の配列に変換する簡単な方法はありますか、例:List<MyClass>
からMyClass[]
?
要するに、私は1つのメソッド呼び出し、または少なくとも以下を意味します:
MyClass[] myArray = new MyClass[list.Count];
int i = 0;
foreach (MyClass myClass in list)
{
myArray[i++] = myClass;
}
使用してみてください
MyClass[] myArray = list.ToArray();
List<int> list = new List<int>();
int[] intList = list.ToArray();
それはあなたの解決策ですか?
_List<T>
_でToArray()
を使用します。
list.ToArray()
トリックを行います。詳細については、 here を参照してください。
単にToArray()
拡張メソッドを使用できます
例:
_Person p1 = new Person() { Name = "Person 1", Age = 27 };
Person p2 = new Person() { Name = "Person 2", Age = 31 };
List<Person> people = new List<Person> { p1, p2 };
var array = people.ToArray();
_
要素は
Array.Copy()
を使用してコピーされます。これはO(n)操作です。nはCountです。
複数のプロセッサコアを使用して2倍の速度を実現するには、HPCsharp nugetパッケージは以下を提供します。
list.ToArrayPar();