Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Помимо базовых типов данных Visual Basic, можно также собрать элементы различных типов для создания составных типов данных , таких как структуры, массивы и классы. Вы можете создавать составные типы данных из простых типов и из других составных типов. Например, можно определить массив элементов структуры или структуру с элементами массива.
Типы данных
Составной тип отличается от типа данных любого из его компонентов. Например, массив Integer
элементов не является типом Integer
данных.
Тип данных массива обычно представляется с помощью типа элемента, круглых скобок и запятых при необходимости. Например, одномерный массив String
элементов представлен в виде String()
двухмерного массива Boolean
элементов Boolean(,)
.
Типы структур
Не существует единственного типа данных, который включает все структуры. Вместо этого каждое определение структуры представляет уникальный тип данных, даже если две структуры определяют идентичные элементы в одном порядке. Однако если вы создаете два или более экземпляров одной структуры, Visual Basic считает их одинаковым типом данных.
Кортежи
Кортеж — это легковесная структура, содержащая два или более поля, типы которых предопределены. Кортежи поддерживаются начиная с версии Visual Basic 2017. Кортежи чаще всего используются для возврата нескольких значений из одного вызова метода, не передавая аргументы по ссылке или упаковывая возвращаемые поля в более тяжелый класс или структуру. См. тему Кортежи для получения дополнительной информации о кортежах.
Типы массивов
Нет единого типа данных, который бы включал все массивы. Тип данных определенного экземпляра массива определяется следующим образом:
Факт бытия массива
Ранг (число измерений) массива
Тип элемента массива
В частности, длина выбранного измерения не включается в тип данных экземпляра. В следующем примере показано это.
Dim arrayA( ) As Byte = New Byte(12) {}
Dim arrayB( ) As Byte = New Byte(100) {}
Dim arrayC( ) As Short = New Short(100) {}
Dim arrayD( , ) As Short
Dim arrayE( , ) As Short = New Short(4, 10) {}
В предыдущем примере переменные arrayA
массива и arrayB
считаются одинаковыми типами данных, Byte()
даже если они инициализированы в разные длины. Переменные arrayB
и arrayC
не являются одинаковыми типами, так как их типы элементов отличаются. Переменные arrayC
и arrayD
не одного типа, так как их ранги различаются. Переменные arrayD
и arrayE
имеют один и тот же тип — Short(,)
, так как их ранги и типы элементов одинаковы, даже если arrayD
еще не инициализированы.
Дополнительные сведения о массивах см. в разделе "Массивы".
Типы классов
Не существует типа данных, который бы включал все классы. Хотя один класс может наследоваться от другого класса, каждый из них является отдельным типом данных. Несколько экземпляров одного класса имеют один и тот же тип данных. Если назначить одну переменную экземпляра класса другой, они не только имеют один и тот же тип данных, они указывают на тот же экземпляр класса в памяти.
Дополнительные сведения о классах см. в разделе "Объекты и классы".