Delen via


Matrixdimensies in Visual Basic

Een dimensie is een richting waarin u de specificatie van de elementen van een matrix kunt variëren. Een matrix die het verkooptotaal voor elke dag van de maand bevat, heeft één dimensie (de dag van de maand). Een matrix die het verkooptotaal per afdeling voor elke dag van de maand bevat, heeft twee dimensies (het afdelingsnummer en de dag van de maand). Het aantal dimensies dat een matrix heeft, wordt de rang van de matrix genoemd.

Notitie

U kunt de Rank eigenschap gebruiken om te bepalen hoeveel dimensies een matrix heeft.

Werken met dimensies

U geeft een element van een matrix op door een index of subscript op te geven voor elk van de dimensies. De elementen zijn aaneengesloten langs elke dimensie van index 0 tot en met de hoogste index voor die dimensie.

In de volgende afbeeldingen ziet u de conceptuele structuur van matrices met verschillende rangschikkingen. Elk element in de illustraties toont de indexwaarden die er toegang toe hebben. U kunt bijvoorbeeld het eerste element van de tweede rij van de tweedimensionale matrix openen door indexen (1, 0)op te geven.

Diagram that shows a one-dimensional array.

Diagram that shows a two-dimensional array.

Diagram that shows a three-dimensional array.

Eén dimensie

Veel matrices hebben slechts één dimensie, zoals het aantal personen van elke leeftijd. De enige vereiste om een element op te geven, is de leeftijd waarvoor dat element het aantal bevat. Daarom gebruikt een dergelijke matrix slechts één index. In het volgende voorbeeld wordt een variabele gede declareert voor het opslaan van een eendimensionale matrix van leeftijden voor leeftijden van 0 tot en met 120.

Dim ageCounts(120) As UInteger

Twee dimensies

Sommige matrices hebben twee dimensies, zoals het aantal kantoren op elke verdieping van elk gebouw op een campus. De specificatie van een element vereist zowel het gebouwnummer als de vloer, en elk element bevat het aantal voor die combinatie van gebouw en vloer. Daarom gebruikt een dergelijke matrix twee indexen. In het volgende voorbeeld wordt een variabele gede declareren voor een tweedimensionale matrix van kantooraantallen, voor gebouwen 0 tot en met 40 en verdiepingen 0 tot en met 5.

Dim officeCounts(40, 5) As Byte

Een tweedimensionale matrix wordt ook wel een rechthoekige matrix genoemd.

Drie dimensies

Een paar matrices hebben drie dimensies, zoals waarden in driedimensionale ruimte. Een dergelijke matrix maakt gebruik van drie indexen, die in dit geval de coördinaten x, y en z van fysieke ruimte vertegenwoordigen. In het volgende voorbeeld wordt een variabele gede declareerd voor het opslaan van een driedimensionale matrix met luchttemperaturen op verschillende punten in een driedimensionaal volume.

Dim airTemperatures(99, 99, 24) As Single

Meer dan drie dimensies

Hoewel een matrix maximaal 32 dimensies kan hebben, is het zeldzaam om meer dan drie dimensies te hebben.

Notitie

Wanneer u dimensies toevoegt aan een matrix, neemt de totale opslagruimte die nodig is voor de matrix aanzienlijk toe, dus gebruik multidimensionale matrices zorgvuldig.

Verschillende dimensies gebruiken

Stel dat u verkoopbedragen wilt bijhouden voor elke dag van de huidige maand. U kunt een eendimensionale matrix met 31 elementen declareren, één voor elke dag van de maand, zoals in het volgende voorbeeld wordt weergegeven.

Dim salesAmounts(30) As Double

Stel dat u dezelfde informatie niet alleen voor elke dag van een maand wilt bijhouden, maar ook voor elke maand van het jaar. U kunt een tweedimensionale matrix declareren met 12 rijen (voor de maanden) en 31 kolommen (voor de dagen), zoals in het volgende voorbeeld wordt weergegeven.

Dim salesAmounts(11, 30) As Double

Stel nu dat u besluit dat uw matrix meer dan één jaar gegevens bevat. Als u verkoopbedragen voor vijf jaar wilt bijhouden, kunt u een driedimensionale matrix declareren met 5 lagen, 12 rijen en 31 kolommen, zoals in het volgende voorbeeld wordt weergegeven.

Dim salesAmounts(4, 11, 30) As Double

Houd er rekening mee dat, omdat elke index varieert van 0 tot het maximum, elke dimensie salesAmounts wordt gedeclareerd als één minder dan de vereiste lengte voor die dimensie. Houd er ook rekening mee dat de grootte van de matrix toeneemt met elke nieuwe dimensie. De drie grootten in de voorgaande voorbeelden zijn respectievelijk 31, 372 en 1860 elementen.

Notitie

U kunt een matrix maken zonder de Dim instructie of de New component te gebruiken. U kunt bijvoorbeeld de CreateInstance methode aanroepen of een ander onderdeel kan uw code doorgeven aan een matrix die op deze manier is gemaakt. Een dergelijke matrix kan een andere ondergrens dan 0 hebben. U kunt altijd testen op de ondergrens van een dimensie met behulp van de GetLowerBound methode of de LBound functie.

Zie ook