Вы можете использовать System.Collections.Generic.List(Of Object)
, но вам нужно следить за типами, когда вы извлекаете значения из списка.
Из любопытства, почему вы хотите хранить разные типы вместе в одном списке?
Чтобы использовать System.Collections.Generic.List
Dim x as new List(of Object)()
x.Add(element) 'given an element, all objects inherit from Object
x.Add(new Int32({1,2,3,4,5})
x.AddRange(array) 'append an array's contents
Dim retrievedValue as int32() = x(1) ' here, I needed to remember what I stored at what indice.
Чтобы упростить задачу, якак правило, не будет делать такие вещи.Вы теряете безопасность типов и вам необходимо неявно приводить полученное значение, но если вы хотите, это можно сделать на языке.
Я бы подумал о том, как написать класс, который будет представлять данные, с которыми я работаюс.Если класс слишком тяжелый, возможно, несколько строго типизированных объектов Dictionary (), которые совместно используют ключи для хранения, скажем, int32 () и строки в string_map
и int_array_map
соответственно.
Например, Словарь хранит элементы в KeyValuePairs, которые могут быть строго типизированы.
Dim dict as new Dictionary(of string, List(of int32))()
dict.Add('myname', new List(of Int32)({1,2,4,5,6,7})
Итак, dict('myname')
возвращает строго типизированный список Int32.
IНа самом деле я просто в темноте, но вы можете видеть, что в .NET есть несколько полезных классов коллекций.Я бы порекомендовал прочитать в пространство имен System.Collections.Generic.