Złożone typy danych (Visual Basic)

Oprócz podstawowych typów danych w języku Visual Basic można również tworzyć elementy różnych typów, aby tworzyć złożone typy danych, takie jak struktury, tablice i klasy. Można tworzyć złożone typy danych z typów podstawowych i innych typów złożonych. Można na przykład zdefiniować tablicę elementów struktury lub strukturę z członkami tablicy.

Typy danych

Typ złożony różni się od typu danych dowolnego z jego składników. Na przykład tablica Integer elementów nie Integer jest typu danych.

Typ danych tablicy jest zwykle reprezentowany przy użyciu typu elementu, nawiasów i przecinków w razie potrzeby. Na przykład jednowymiarowa tablica String elementów jest reprezentowana jako String(), a dwuwymiarowa tablica Boolean elementów jest reprezentowana jako Boolean(,).

Typy struktury

Nie ma żadnego pojedynczego typu danych składającego się ze wszystkich struktur. Zamiast tego każda definicja struktury reprezentuje unikatowy typ danych, nawet jeśli dwie struktury definiują identyczne elementy w tej samej kolejności. Jeśli jednak utworzysz co najmniej dwa wystąpienia tej samej struktury, program Visual Basic uzna je za tego samego typu danych.

Krotki

Krotka to uproszczona struktura zawierająca co najmniej dwa pola, których typy są wstępnie zdefiniowane. Krotki są obsługiwane od języka Visual Basic 2017. Krotki są najczęściej używane do zwracania wielu wartości z jednego wywołania metody bez konieczności przekazywania argumentów przez odwołanie lub pakowania zwracanych pól w bardziej ciężkiej klasie lub strukturze. Aby uzyskać więcej informacji na temat krotek, zobacz temat Krotki.

Typy tablic

Nie ma jednego typu danych składającego się ze wszystkich tablic. Typ danych określonego wystąpienia tablicy jest określany przez następujące elementy:

  • Fakt bycia tablicą

  • Ranga (liczba wymiarów) tablicy

  • Typ elementu tablicy

W szczególności długość danego wymiaru nie jest częścią typu danych wystąpienia. Ilustruje to poniższy przykład.

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) {}  

W poprzednim przykładzie zmienne arrayA tablicowe i arrayB są uważane za tego samego typu danych — Byte() mimo że są inicjowane do różnych długości. Zmienne arrayB i nie są tego samego typu, arrayC ponieważ ich typy elementów są różne. Zmienne arrayC i nie są tego samego typu, arrayD ponieważ ich klasyfikacje są różne. Zmienne arrayD i arrayE mają ten sam typ — Short(,) ponieważ ich klasyfikacje i typy elementów są takie same, mimo że arrayD nie zostały jeszcze zainicjowane.

Aby uzyskać więcej informacji na temat tablic, zobacz Tablice.

Typy klas

Nie ma żadnego pojedynczego typu danych składającego się ze wszystkich klas. Mimo że jedna klasa może dziedziczyć z innej klasy, każdy z nich jest oddzielnym typem danych. Wiele wystąpień tej samej klasy jest tego samego typu danych. Jeśli przypiszesz jedną zmienną wystąpienia klasy do innej, nie tylko mają one ten sam typ danych, wskazują na to samo wystąpienie klasy w pamięci.

Aby uzyskać więcej informacji na temat klas, zobacz Objects and Classes (Obiekty i klasy).

Zobacz też