Люди часто говорят мне не использовать ArrayList для создания моих массивов в VB.NET. Я хотел бы услышать мнение об этом, почему бы мне не так? Каков наилучший способ создания и управления содержимым, размерами и т.д.?
Спасибо.
Люди часто говорят мне не использовать ArrayList для создания моих массивов в VB.NET. Я хотел бы услышать мнение об этом, почему бы мне не так? Каков наилучший способ создания и управления содержимым, размерами и т.д.?
Спасибо.
Вместо этого используйте общие списки. ArrayList не напечатан, что означает, что вы можете иметь список со строками, числами, +++. Скорее вы должны использовать общий список, подобный этому:
Dim list1 As New List(Of String) ' This beeing a list of string
Список-класс также позволяет вам быстро расширять список, однако он также обеспечивает ввод текста, который помогает писать более чистый код (вам не нужно приписывать тип) и код, который менее подвержен ошибкам.
ArrayList имеет общий характер только a List(Of Object)
.
ArrayLists не проверяются по типу, поэтому вам нужно будет сделать много бокс/распаковка. Вместо этого используйте коллекцию .net, которая поддерживает такие дженерики, как List.
Поскольку List не должен распаковывать ваши объекты, он может похвастаться удивительно лучшей производительностью, чем Arraylist.
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
Потому что его не сильно набрали. Используйте List(Of T)
, который T
является вашим типом.