回答
正如Luke在說評論,特定的List<T>
類型已經有一個ToArray()
方法。但是,如果你正在使用C#3.0中,可以利用任何IEnumerable
實例ToArray()
擴展方法(包括IList
,IList<T>
,集合,其他陣列等)
var myList = new List<Guid> {Guid.NewGuid(), Guid.NewGuid()};
Guid[] array = myList.ToArray(); // instance method
IList<Guid> myList2 = new List<Guid> {Guid.NewGuid(), Guid.NewGuid()};
Guid[] array2 = myList2.ToArray(); // extension method
var myList3 = new Collection<Guid> {Guid.NewGuid(), Guid.NewGuid()};
Guid[] array3 = myList3.ToArray(); // extension method
關於你提到的第二個問題:
可以使用Select
方法來執行所需的投影:
var list = new List<MyClass> {new MyClass(), new MyClass()};
Guid[] array = list.Select(mc => mc.value).ToArray();
Muchas gracias。 – 2009-12-17 13:15:14
'List
@Luke:非常好的一點!我相應地更新了我的答案。謝謝。 – 2009-12-17 16:17:16
你應該只需要調用MyList.ToArray()來獲取元素的數組。
使用Enumerable.ToArray() Extension Method你可以這樣做:
var guidArray = MyList.ToArray();
如果你還在使用C#2.0中,你可以使用List.ToArray方法。語法相同(除了C#2.0中沒有關鍵字var
)。
的新方法(使用擴展或.NET 2.0中的ToArray的()泛型列表法):
Guid[] guidArray = MyList.ToArray();
老辦法:
Guid[] guidArray = new guidArray[MyList.Length];
int idx = 0;
foreach (var guid in MyList)
{
guidArray[idx++] = guid;
}
C#2.0有'List.ToArray',它使用'System.Array.Copy' – 2009-12-17 13:20:54
我想我正在展示我的年齡。 :-) – tvanfosson 2009-12-17 14:30:15
還有一種選擇,除了Guid[] MyArray = MyList.ToArray()
:
Guid[] MyArray = new Guid[MyList.Count]; // or wherever you get your array from
MyList.CopyTo(MyArray, 0);
這種解決方案可能是,如果更好,不管什麼原因,你已經有了一個properly-只是想填充它(而不是構建一個新的,如List<T>.ToArray()
一樣)。
- 1. 如何將陣列複製到陣列
- 2. 如何將build目錄從build目錄複製到父目錄?
- 3. C#複製陣列到陣列
- 4. 將文件列表複製到目錄
- 5. 將文件列表複製到目錄
- 6. 如何複製目錄?
- 7. 複製子目錄到目錄
- 8. 如何將兩個目錄的差異複製到新目錄?
- 9. 如何將文件從目錄複製到iphone文檔目錄
- 10. 如何將列表文件複製到某些目錄中?
- 11. 複製陣列
- 12. 複製陣列
- 13. 如何遞歸複製SDcard目錄和子目錄到其他smb目錄(samba)?
- 14. 如果目標目錄已存在,如何複製目錄
- 15. 目錄複製?
- 16. 如何複製陣列本身
- 17. 複製3D陣列
- 18. Hadoop Distcp將目錄內的目錄複製到同名目錄
- 19. 如何使用Maven將資源複製到src目標目錄?
- 20. 項目陣列到陣列
- 21. 在C++複製陣列的堆疊陣列到陣列的陣列中的堆
- 22. 如何將文件從源目錄複製到qt中的目標目錄
- 23. 如何將文件中的數據複製到目錄中或將命令輸出複製到目錄
- 24. 將陣列從RAM複製到GPU並從GPU複製到RAM
- 25. 複製生成jar或war文件複製到目標目錄
- 26. 如何將陣列從服務器複製到現有陣列參考
- 27. 如何以不同的方式將陣列複製到另一個陣列 - Pascal
- 28. 如何將2D numpy的陣列複製到另一個numpy的陣列
- 29. 複製陣列散列
- 30. 如何在Clojure中複製目錄?
另一個問題, MyClass { Guid value; } 列表 如何將Guid屬性複製到Guid的數組? 我的意思是不使用迭代語句 –
2009-12-17 13:34:40
我不是100%的SO禮儀,但最好能提出一個新問題作爲一個新問題。我可能是錯的。 – 2009-12-17 16:19:38