Не используйте ArrayList!

Люди часто говорят мне не использовать ArrayList для создания моих массивов в VB.NET. Я хотел бы услышать мнение об этом, почему бы мне не так? Каков наилучший способ создания и управления содержимым, размерами и т.д.?

Спасибо.

Ответ 1

Вместо этого используйте общие списки. ArrayList не напечатан, что означает, что вы можете иметь список со строками, числами, +++. Скорее вы должны использовать общий список, подобный этому:

Dim list1 As New List(Of String) ' This beeing a list of string

Список-класс также позволяет вам быстро расширять список, однако он также обеспечивает ввод текста, который помогает писать более чистый код (вам не нужно приписывать тип) и код, который менее подвержен ошибкам.

ArrayList имеет общий характер только a List(Of Object).

Ответ 2

ArrayLists не проверяются по типу, поэтому вам нужно будет сделать много бокс/распаковка. Вместо этого используйте коллекцию .net, которая поддерживает такие дженерики, как List.

Поскольку List не должен распаковывать ваши объекты, он может похвастаться удивительно лучшей производительностью, чем Arraylist.

Ответ 3

ArrayLists менее эффективны и обширны:

Dim list1 As New ArrayList
For i As Integer = 1 To 100000000
    list1.Add(i)
Next
' --> OutOfMemoryException after 13.163 seconds, having added 67.108.864 items

Dim list2 As New List(Of Integer)
For i As Integer = 1 To 100000000
    list2.Add(i)
Next
' --> finished after 1.778 seconds, having added all values

Ответ 4

Потому что его не сильно набрали. Используйте List(Of T), который T является вашим типом.