Переменные структуры (Visual Basic)

После создания структуры можно объявить переменные уровня процедуры и уровня модуля в качестве этого типа. Например, можно создать структуру, которая записывает сведения о компьютерной системе. Это продемонстрировано в следующем примере.

Public Structure systemInfo
    Public cPU As String
    Public memory As Long
    Public purchaseDate As Date
End Structure

Теперь можно объявить переменные этого типа. Это иллюстрируется в следующем объявлении.

Dim mySystem, yourSystem As systemInfo

Примечание.

В классах и модулях структуры, объявленные с помощью инструкции Dim по умолчанию для общедоступного доступа. Если вы планируете, что структура будет частной, убедитесь, что вы объявите ее с помощью частной ключевое слово.

Доступ к значениям структуры

Чтобы назначить и извлечь значения из элементов переменной структуры, используйте тот же синтаксис, что и для задания и получения свойств объекта. Оператор доступа к члену (.) размещается между именем переменной структуры и именем элемента. В следующем примере выполняется доступ к элементам переменных, объявленных ранее как тип systemInfo.

mySystem.cPU = "486"
Dim tooOld As Boolean
If yourSystem.purchaseDate < #1/1/1992# Then tooOld = True

Назначение переменных структуры

Можно также назначить одну переменную другой, если оба имеют одинаковый тип структуры. Это копирует все элементы одной структуры в соответствующие элементы в другую. Это иллюстрируется в следующем объявлении.

yourSystem = mySystem

Если элемент структуры является ссылочным типом, например StringObjectмассивом, указатель на данные копируется. В предыдущем примере, если systemInfo бы он включал переменную объекта, предыдущий пример копировал указатель из mySystemyourSystemнего в, а изменение данных объекта через одну структуру было бы в действии при доступе через другую структуру.

См. также