簡體   English   中英

C#是有理由使用ArrayList而不是List <T> 了嗎?

[英]C# is there ever a reason to use ArrayList instead of List<T> anymore?

標題幾乎總結了它。 現在我們有了List<T> ,為什么有人想要使用ArrayList呢? 我能想到的唯一原因是,如果在實現List<T>之前你被迫使用舊版本的.NET?

如你所說,如果由於某種原因你被.Net 1.1困住,那么你沒有選擇。

你的問題似乎表明有一個選擇。 那么就沒有理由使用ArrayList ArrayList可以做的任何事情, List<T>也可以做,如果不是更好的話。

簡短的回答,沒有。 ArrayList來自.NET不支持泛型的時候。 List是處理列表的更靈活(通用)方式。 事實上,我認為Silverlight根本不支持ArrayLists。

ArrayList主要用於向后兼容。 在有截止日期的項目中,您可能有時間將所有內容從ArrayList轉換為通用List。

另一個原因是您可能正在使用.NET 1.1編寫的庫。 因此,您可以強制在代碼中使用ArrayList,並且很可能將其轉換為通用List以便於編碼。

但是,存在一些差異,您可能需要閱讀: .NET:ArrayList vs List

你自己說:向后兼容。 它已經沒有用了,但它顯然無法從BCL中刪除,因為它會破壞現有代碼,無論出於何種原因必須針對.NET 1.1進行編譯。

唯一一次使用過ArrayList,因為.Net 2.0與vb.net中內置的My.Settings功能一起使用,而且我已經知道我可能會在那里找到一個通用列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM