BindingList< T>を変換しますTの配列
質問
BindingList< T>
を T []
に変換する最も簡単な方法は何ですか?
編集:このプロジェクトでは3.0を使用しているため、LINQはありません。
解決
まあ、LINQ(C#3.0 + .NET 3.5または LINQBridge がある場合) .ToArray()
を使用できます。それ以外の場合は、配列を作成してデータをコピーします。
T[] arr = new T[list.Count];
list.CopyTo(arr, 0);
他のヒント
.Net 2では、 BindingList< T>
.CopyTo()
メソッドを使用する必要があります .net2.0でタグ付けされていることに気付いたので、この投稿を変更しました。リストにはToArray()メソッドがあるため、リストを使用できます。
public T[] ToArray<T>(BindingList<T> bindingList) {
if (bindingList == null)
return new T[0];
var list = new List<T>(bindingList);
return list.ToArray();
}
注:これは実際、他のメンバーが示したCopyToソリューションよりもパフォーマンスの低いソリューションです。代わりにソリューションを使用します。これは、結果とListインスタンスの内部に2つの配列を作成します。
所属していません StackOverflow