Простейший и наиболее эффективный способ организации цикла по объектам в коллекции — использование цикла For Each. Кроме того, можно воспользоваться циклом For Next, но он выполняется медленнее.
Чтобы применить цикл For Each, необходимо указать объект для рассмотрения в коллекции. Ниже приведен соответствующий код:
' Необходимо объявить объектную переменную.
Dim User as User
For Each User in Users
MsgBox User.Type
Next User
СОВЕТ
В приведенном примере проверяется каждый пользователь в коллекции. Обратите внимание, что отдельным пользователям соответствуют отдельные объектные переменные Useri и User2. Чтобы воспользоваться циклом For Each, необходимо указать общую объектную переменную под именем User. Данную объектную переменную не обязательно присваивать с помощью ключевого слова Set. Ее единственное назначение — использование в цикле For Each.
Удаление отдельных объектов
Чтобы удалить отдельные объекты из множества, необходимо воспользоваться номером индекса объекта либо ключевым значением.
|
|
' Удаление объекта по номеру индекса.
Users.Remove 2
' Удаление объекта по ключевому значению.
Users.Remove "Steve"
Удаление всех объектов
Чтобы удалить все объекты из коллекции, не обязательно создавать цикл по всем элементам множества и вызывать метод удаления. Гораздо проще переназначить объект коллекции в новую коллекцию.
' Удаление всех объектов из коллекции.
Set Users = New Collection
Освобождение объектной переменной
Поскольку коллекции — это объекты, не следует забывать об освобождении объектной переменной, устанавливая ее значение равным Nothing.
' Освобождение объектной переменной.
Set Users = Nothing
Резюме
Создание объектов представляет собой эффективный способ написания и работы с приложениями. Это значительно улучшает организацию кода, упрощает его написание и использование, в том числе с помощью технологии IntelliSense, а также делает код переносимым. Кроме того, можно скрыть сложную "начинку" от разработчиков, использующих объект. Разработчики могут создавать многочисленные экземпляры данного объекта.