Znaki typu (Visual Basic)
Oprócz określania typu danych w instrukcji deklaracji można wymusić typ danych niektórych elementów programowania z znakiem typu. Znak typu musi natychmiast podążać za elementem bez interweniujących znaków dowolnego rodzaju.
Znak typu nie jest częścią nazwy elementu. Element zdefiniowany za pomocą znaku typu można odwoływać się bez znaku typu.
Znaki typu identyfikatora
Visual Basic dostarcza zestaw znaków typu identyfikatora, których można użyć w deklaracji, aby określić typ danych zmiennej lub stałej. W poniższej tabeli przedstawiono dostępne znaki typu identyfikatora z przykładami użycia.
Znak typu identyfikatora | Typ danych | Przykład |
---|---|---|
% |
Integer |
Dim L% |
& |
Long |
Dim M& |
@ |
Decimal |
Const W@ = 37.5 |
! |
Single |
Dim Q! |
# |
Double |
Dim X# |
$ |
String |
Dim V$ = "Secret" |
Dla typów danych, takich Char
Short
SByte
UShort
Byte
ULong
Date
UInteger
Object
jak tablice lub struktury, nie istnieją Boolean
żadne znaki typu identyfikatora.
W niektórych przypadkach można dołączyć $
znak do funkcji Języka Visual Basic, na przykład Left$
zamiast Left
, aby uzyskać zwracaną wartość typu String
.
We wszystkich przypadkach znak typu identyfikatora musi natychmiast podążać za nazwą identyfikatora.
Znaki typu literału
Literał to tekstowa reprezentacja określonej wartości typu danych.
Domyślne typy literałów
Forma literału wyświetlana w kodzie zwykle określa jego typ danych. W poniższej tabeli przedstawiono te typy domyślne.
Tekstowa forma literału | Domyślny typ danych | Przykład |
---|---|---|
Numeryczne, bez części ułamkowej | Integer |
2147483647 |
Liczba, brak części ułamkowej, zbyt duża dla Integer |
Long |
2147483648 |
Część liczbowa, ułamkowa | Double |
1.2 |
Ujęte w znaki podwójnego cudzysłowu | String |
"A" |
Ujęte w znaki liczbowe | Date |
#5/17/1993 9:32 AM# |
Wymuszone typy literałów
Język Visual Basic udostępnia zestaw znaków typu literału, którego można użyć do wymuszenia literału, aby założyć typ danych inny niż wskazuje jego formularz. W tym celu należy dołączyć znak na końcu literału. W poniższej tabeli przedstawiono dostępne znaki typu literału z przykładami użycia.
Znak typu literału | Typ danych | Przykład |
---|---|---|
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 |
Nie istnieją znaki typu literału dla Boolean
typów danych , Object
SByte
Byte
Date
lub String
dla jakichkolwiek złożonych typów danych, takich jak tablice lub struktury.
Literały mogą również używać znaków typu identyfikatora (%
, &
, , @
!
, #
, $
), jak zmienne, stałe i wyrażenia. Jednak znaki typu literału (S
, I
, , L
D
, F
, R
, C
) mogą być używane tylko z literałami.
We wszystkich przypadkach znak typu literału musi natychmiast podążać za wartością literału.
Literały szesnastkowe, binarne i ósemkowe
Kompilator zwykle interpretuje literał liczby całkowitej, który ma znajdować się w systemie liczb dziesiętnym (podstawowym 10). Można również zdefiniować literał liczby całkowitej jako liczbę szesnastkową (podstawową 16) z &H
prefiksem jako liczbę binarną (podstawową 2) z &B
prefiksem oraz jako liczbę ósemkową (podstawową 8) z prefiksem &O
. Cyfry zgodne z prefiksem muszą być odpowiednie dla systemu numerów. Poniższa tabela ilustruje to.
Podstawa liczbowa | Prefiks | Prawidłowe wartości cyfr | Przykład |
---|---|---|---|
Szesnastkowy (podstawa 16) | &H |
0-9 i A-F | &HFFFF |
Binarny (podstawowy 2) | &B |
0-1 | &B01111100 |
Ósemkowa (podstawa 8) | &O |
0-7 | &O77 |
Począwszy od języka Visual Basic 2017, możesz użyć znaku podkreślenia (_
) jako separatora grup, aby zwiększyć czytelność literału całkowitego. W poniższym przykładzie użyto _
znaku do grupowania literału binarnego w grupy 8-bitowe:
Dim number As Integer = &B00100010_11000101_11001111_11001101
Możesz podążać za prefiksem literału z znakiem typu literału. W poniższym przykładzie pokazano to.
Dim counter As Short = &H8000S
Dim flags As UShort = &H8000US
W poprzednim przykładzie counter
ma wartość dziesiętną -32768 i flags
ma wartość dziesiętną +32768.
Począwszy od języka Visual Basic 15.5, można również użyć znaku podkreślenia (_
) jako separatora wiodącego między prefiksem a cyframi szesnastkowymi, binarnymi lub ósemkowymi. Na przykład:
Dim number As Integer = &H_C305_F860
Aby użyć znaku podkreślenia jako separatora wiodącego, należy dodać następujący element do pliku projektu Visual Basic (*.vbproj):
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Aby uzyskać więcej informacji, zobacz Wybieranie wersji języka Visual Basic.