Archief - [PROG]VB.NET Redim Preserve Tweedimensionale array

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

horse_99

Legacy Member
Hoi,

Ik heb een dynamische tweedimensionale array nodig, maar de compiler van Visual Studio geeft een fout als hij deze code moet uitvoeren:

Code:
ReDim Preserve list(l, g)

De foutmelding weet me het volgende te vertellen:

Additional information: 'ReDim' can only change the rightmost dimension.

Okee, met ReDim gaat het blijkbaar dus niet, met wat dan wel?

Ik heb al geprobeerd met Google, maar vind niks over multidimensionale arrays en ReDim, dus ik veronderstel dat het niet gaat. Iemand een tip?

Merci voor alle reacties.

MVG, horse_99.

Kn0t

Legacy Member
Ik veronderstel dat een tweedimensionale array in VB.NET, net als in de meeste andere talen, doodgewoon een array van arrays is?

Doe dan een redim van je "tweedimensionale" array, en vervolgens een redim van elke array die in je rootarray zit.

alva848

Legacy Member
Zoiets ja, ik geloof dat dit inderdaad wel werkt als je ze apart doet.

Achter de schermen wordt een nieuwe array gecreeerd en worden de waarden naar deze gekopieerd. (Is trouwens heel "duur").

klennepette

Legacy Member
Idd redim werkt enkel met de eerste dimensie dus
Code:
ReDim Preserve list(g, 1)
zal wel werken, op voorwaarde dat je tweede dimensie al 1 was
redim preserve kan wel eens heel lang duren bij grotere arrays
een alternatieve oplossing kan arraylists in araylists stoppen zijn.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan