我們可以將ArrayLists作爲參數傳遞給C#中的方法嗎?C#中的ArrayList#
2
A
回答
18
絕對。但是,你很少應該。這幾天你應該差不多總是使用泛型類型,如List<T>
。
此外,當聲明方法的參數時,在您可以的情況下值得使用接口。舉例來說,如果你有這樣的方法:
public void SomeMethod(ArrayList list)
那麼任何人都稱其爲被迫使用ArrayList
。即使他們想要,他們也不能使用List<T>
。另一方面,如果你聲明你的方法爲:
public void SomeMethod(IList list)
然後他們可以使用泛型,即使你的代碼不知道它們。
+0
我不完全同意喬恩,你不應該在公共接口上使用ArrayLists,儘管數組可能在內部使用(私人範圍)出於性能原因。 – 2009-04-14 05:40:47
1
是的,你可以。
5
當然,爲什麼不:
public void SomeMethod(ArrayList list)
{
// your code here
}
但是作爲喬恩S.使用接口提及的首選,而不是硬編碼類型。
public void SomeMethod(IList list)
{
// your code here
}
也參見:
0
任何類型都可以作爲方法的參數傳遞。不管是抽象的,還是接口,或者值類型,或者其他。
Jon Skeet提到使用接口。是的,但它有很小的缺陷 - 你無法輕鬆地從該方法導航到其使用。
相關問題
- 1. C#中的哈希表ArrayList#
- 2. C中的Arraylist不工作
- 3. C#獲取從ArrayList中
- 4. ArrayList C++問題
- 5. c#搜索arraylist
- 6. C#,DataTable到ArrayList?
- 7. c#搜索arraylist
- 8. ArrayList到MessageBox C#
- 9. 爲什麼C#中的ArrayList不安全?
- 10. 在c中使用ArrayList的線程#
- 11. 在C中排序對象的ArrayList#
- 12. 訪問ArrayList中的ArrayList
- 13. ArrayList ArrayList中的對象
- 14. 從ArrayList中的ArrayList中的ArrayList中獲取值?
- 15. 錯誤的ArrayList在C#2008
- 16. OleDbDataReader以ArrayList在C#
- 17. ArrayList的ArrayList
- 18. ArrayList在Struts2的Select Tag中的ArrayList
- 19. Android的ArrayList中,以多維的ArrayList
- 20. 如何在C++中使用ArrayList?
- 21. arraylist IndexOf在asp.net/c#中做了什麼?
- 22. 將C#Arraylist放入標籤中
- 23. 在C#中對ArrayList進行排序#
- 24. 在C中合併兩個ArrayList#
- 25. 的ArrayList中jsonArrayRequest
- 26. Arraylist中的HashMap
- 27. ArrayList中的removeAll
- 28. ArrayList中的類
- 29. 如何在ArrayList中設置ArrayList的值?
- 30. 在ViewHolder中包含多個ArrayList的ArrayList
-1。你之前問過這個問題:http://stackoverflow.com/questions/746898/arraylist-in-session – 2009-04-14 11:02:46