Символы типов (Visual Basic)
Помимо указания типа данных в операторе объявления, можно принудительно применить тип данных некоторых элементов программирования с символом типа. Символ типа должен немедленно следовать элементу без взаимодействия символов любого типа.
Символ типа не является частью имени элемента. Элемент, определенный символом типа, можно ссылаться без символа типа.
Символы типа идентификатора
Visual Basic предоставляет набор символов типа идентификатора, которые можно использовать в объявлении для указания типа данных переменной или константы. В следующей таблице показаны доступные символы типа идентификатора с примерами использования.
Символ типа идентификатора | Тип данных | Пример |
---|---|---|
% |
Integer |
Dim L% |
& |
Long |
Dim M& |
@ |
Decimal |
Const W@ = 37.5 |
! |
Single |
Dim Q! |
# |
Double |
Dim X# |
$ |
String |
Dim V$ = "Secret" |
Для типов идентификаторов, таких как массивы или структуры, не существуют Boolean
символы типа идентификатора, Char
ULong
Byte
Object
UShort
Date
SByte
Short
UInteger
а также для типов данных, таких как массивы или структуры.
В некоторых случаях можно добавить символ в $
функцию Visual Basic, например Left$
вместо Left
того, чтобы получить возвращаемое значение типа String
.
Во всех случаях символ типа идентификатора должен немедленно следовать имени идентификатора.
Символы литерального типа
Литерал — это текстовое представление определенного значения типа данных.
Типы литерала по умолчанию
Форма литерала, как она отображается в коде, обычно определяет его тип данных. В следующей таблице показаны эти типы по умолчанию.
Текстовая форма литерала | Тип данных по умолчанию | Пример |
---|---|---|
Числовой, без дробной части | Integer |
2147483647 |
Числовой, без дробной части, слишком большой для Integer |
Long |
2147483648 |
Числовая, дробная часть | Double |
1.2 |
Заключено в двойные кавычки | String |
"A" |
Заключено в знаки числа | Date |
#5/17/1993 9:32 AM# |
Принудительные типы литерала
Visual Basic предоставляет набор символов литерального типа, который можно использовать для принудительного применения литерала, чтобы предположить тип данных, отличный от того, который указывает его форма. Для этого добавьте символ в конец литерала. В следующей таблице показаны доступные символы литерального типа с примерами использования.
Символ литерального типа | Тип данных | Пример |
---|---|---|
S |
Short |
I = 347S |
I |
Integer |
J = 347I |
L |
Long |
K = 347L |
D |
Decimal |
X = 347D |
F |
Single |
Y = 347F |
R |
Double |
Z = 347R |
US |
UShort |
L = 347US |
UI |
UInteger |
M = 347UI |
UL |
ULong |
N = 347UL |
C |
Char |
Q = "."C |
Символы литерального типа не существуют для Boolean
типов данных , ,Byte
, SByte
Date
Object
или String
для любых составных типов данных, таких как массивы или структуры.
Литералы также могут использовать символы типа идентификатора (%
, , !
&
@
, , #
), $
как и переменные, константы и выражения. Однако символы литерального типа (S
, , L
I
D
, F
, , R
) C
можно использовать только с литералами.
Во всех случаях символ литерального типа должен немедленно следовать значению литерала.
Шестнадцатеричные, двоичные и восьмимерные литералы
Компилятор обычно интерпретирует целочисленный литерал в десятичной (базовой 10) системе чисел. Можно также определить целочисленный литерал как шестнадцатеричное (базовое 16) число с &H
префиксом, как двоичное (базовое 2) число с &B
префиксом и как восьмеричный (базовый 8) номер с &O
префиксом. Цифры, следуйте префиксу, должны соответствовать системе чисел. В следующей таблице показано это.
База чисел | Префикс | Допустимые значения цифр | Пример |
---|---|---|---|
16 (основание 16) | &H |
0-9 и A-F | &HFFFF |
Binary (base 2) | &B |
0–1 | &B01111100 |
8 (основание 8) | &O |
0-7 | &O77 |
Начиная с Visual Basic 2017, можно использовать символ подчеркивания (_
) в качестве разделителя групп для повышения удобочитаемости целочисленного литерала. В следующем примере символ используется _
для группировки двоичного литерала в 8-разрядные группы:
Dim number As Integer = &B00100010_11000101_11001111_11001101
Вы можете следовать префиксным литералом с символом типа литерала. В следующем примере приведена иллюстрация этого.
Dim counter As Short = &H8000S
Dim flags As UShort = &H8000US
В предыдущем примере counter
имеет десятичное значение -32768 и flags
имеет десятичное значение +32768.
Начиная с Visual Basic 15.5, можно также использовать символ подчеркивания (_
) в качестве ведущего разделителя между префиксом и шестнадцатеричными, двоичными или восьмизначными цифрами. Например:
Dim number As Integer = &H_C305_F860
Чтобы использовать символ подчеркивания в качестве ведущего разделителя, необходимо добавить следующий элемент в файл проекта Visual Basic (*.vbproj):
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Дополнительные сведения см. в разделе "Выбор версии языка Visual Basic".