Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Naast de elementaire gegevenstypen die Visual Basic levert, kunt u ook items van verschillende typen samenstellen om samengestelde gegevenstypen te maken, zoals structuren, matrices en klassen. U kunt samengestelde gegevenstypen maken van elementaire typen en van andere samengestelde typen. U kunt bijvoorbeeld een matrix met structuurelementen of een structuur met matrixleden definiëren.
Gegevenstypen
Een samengesteld type verschilt van het gegevenstype van een van de onderdelen. Een matrix met Integer elementen is bijvoorbeeld niet van het Integer gegevenstype.
Een matrixgegevenstype wordt normaal gesproken weergegeven met behulp van het elementtype, haakjes en komma's, indien nodig. Een eendimensionale matrix met String elementen wordt bijvoorbeeld weergegeven als String(), en een tweedimensionale matrix met Boolean elementen wordt weergegeven als Boolean(,).
Structuurtypen
Er is geen enkel gegevenstype dat alle structuren omvat. In plaats daarvan vertegenwoordigt elke definitie van een structuur een uniek gegevenstype, zelfs als twee structuren identieke elementen in dezelfde volgorde definiëren. Als u echter twee of meer exemplaren van dezelfde structuur maakt, worden deze in Visual Basic beschouwd als van hetzelfde gegevenstype.
Tupel
Een tuple is een lichtgewicht structuur die twee of meer velden bevat waarvan de typen vooraf zijn gedefinieerd. Tuples worden ondersteund vanaf Visual Basic 2017. Tuples worden meestal gebruikt om meerdere waarden terug te geven uit een methode-aanroep zonder argumenten door te geven via een referentie of de geretourneerde velden te verpakken in een zwaardere klasse of structuur. Zie het onderwerp Tuples voor meer informatie over tuples.
Arraytypen
Er is geen enkel gegevenstype dat alle matrices omvat. Het gegevenstype van een bepaald exemplaar van een matrix wordt bepaald door het volgende:
Het feit dat het een array is
De rang (aantal dimensies) van de matrix
Het elementtype van de matrix
Met name de lengte van een bepaalde dimensie maakt geen deel uit van het gegevenstype van het exemplaar. In het volgende voorbeeld ziet u dit.
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) {}
In het voorgaande voorbeeld worden de matrixvariabelen arrayA en arrayB beschouwd als hetzelfde gegevenstype — Byte() — ook al worden ze geïnitialiseerd met verschillende lengtes. Variabelen arrayB en arrayC zijn niet van hetzelfde type omdat hun elementtypen verschillen. Variabelen arrayC en arrayD zijn niet van hetzelfde type omdat hun rangschikkingen verschillen. Variabelen arrayD en arrayE hetzelfde type hebben, Short(,) omdat hun rangschikkingen en elementtypen hetzelfde zijn, ook al arrayD zijn ze nog niet geïnitialiseerd.
Zie Matrices voor meer informatie over matrices.
Klassetypen
Er is geen enkel gegevenstype dat alle klassen omvat. Hoewel één klasse kan overnemen van een andere klasse, is elk een afzonderlijk gegevenstype. Meerdere exemplaren van dezelfde klasse hebben hetzelfde gegevenstype. Als u één variabele van het klasse-exemplaar aan een andere toewijst, hebben ze niet alleen hetzelfde gegevenstype, maar wijzen ze naar hetzelfde klasse-exemplaar in het geheugen.
Zie Objecten en klassen voor meer informatie over klassen.