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 CharShortSByteUShortByteULongDateUIntegerObjectjak 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 Booleantypów danych , ObjectSByteByteDatelub 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, , LD, 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.

Zobacz też