Probleme mit arrays "variable()"

fredlllll

Erfahrenes Mitglied
Servus

ich möchte für mein Projekt gerne ein Array unbestimmter Größe definieren. Das Problem ist, dass man beim Beschreiben eine Null-reference exception bekommt vonwegen ich soll eine Objektinstanz anlegen. und da hackts bei mir =(
ich möchte die Variable so Deklarieren

Visual Basic:
Public Variable() as Variablentyp

und nicht sorum
Visual Basic:
Public Variable as Variablentyp()
letzteres bereitet mir die Schwierigkeit, dass ich die Variable so beschreiben muss

Visual Basic:
Variable = new Variablentyp() {1,2,3,4,5}

danach kann ich zwar auf die einzelnen Arraywerte zugreifen, aber das ist nicht das was ich will.

Mein variablentyp ist eine Structure mit 3 Variablen drin.

Visual Basic:
Public Structure Object3d
        Dim position As Vector3
        Dim vertexes As CustomVertex.TransformedColored
        Dim Scale As Double
    End Structure

In meinem Programm will ich die Objekte aus Dateien Laden. Somit fällt die Beschreibung des Arrays mit den {} schonmal weg, da ich damit nur das ganze Array beschreiben kann, und nicht die Einzelnen Arraydinger wie obj(1) oder obj(7). Die Objektzahl wird also variieren.

Jetzt weiß ich also nicht wie ich so ein Array richtig behandle.
kann mir da wer helfen?

Danke schonmal =)
 
Zuletzt bearbeitet:
Hallo,

ziemlich häufiges Problem und ich orakel mal das man das auch mit Googel recht schnell gefunden hätte :)

ich hab da mal was aus meinem Fundus das dir helfen sollte:

http://www.vbarchiv.net/tipps/details.php?id=1208

das ist zwar für VB6 sollte aber auch unter .Net noch anwendbar sein
und dann hätten wir noch das:
http://openbook.galileocomputing.de/visual_basic/Kapitel_03-003.htm#2e3952d5a672e0101e195eea82f5c4af

ich würd dir das Kapitelchen zum ändern der array Kapazität empfehlen, das sollte genau das sein was du suchst.
Deine Anweisung deklariert dein Array, aber initialisiert es nicht, das sollte dann Redim übernehmen können (natürlich dann, wenn du weißt wie groß das Array sein soll, im dümmsten Fall einfach 1 und dann schrittweise erhöhen)

Greez
 
Zuletzt bearbeitet:
Danke
Ich habe zwar in google gesucht, aber nicht nach neudimensionierung. Das Wort kannte ich noch nichtmal :p

Das Redim hilft mir auf alle fälle =) Danke
 
Zurück