arrays dynamisch erzeugen
mr-brain
- asp.net
kann man in asp arrays dynamisch so erzeugen, dass man den befehl redim nicht benötigt? ich stelle mir das idealerweise so vor:
dim array()
und jetzt so viel wie ich will hinzufügen:
array(0) = "dies"
array(1) = "das"
gibt es hierfür einen befehl oder einen trick. ich weiß nämlich nicht wie viele arrays vorhanden sind, und möchte eine pauschale dimensionierung umgehen.
vielen dank
mr-brain
kann man in asp arrays dynamisch so erzeugen, dass man den befehl redim nicht benötigt? ich stelle mir das idealerweise so vor:
dim array()
und jetzt so viel wie ich will hinzufügen:
array(0) = "dies"
array(1) = "das"gibt es hierfür einen befehl oder einen trick. ich weiß nämlich nicht wie viele arrays vorhanden sind, und möchte eine pauschale dimensionierung umgehen.
Hallo, mr. brain,
also ich weiss es auch nicht. Deswegen helfe ich mir für solche Zwecke (in eindimensionalen Fällen) folgendermassen mit einem 'datenbanklosen' Daten-Objekt:
Dim rs
Set rs = CreateObject("ADODB.Recordset")
rs.Fields.Append "Spalte0", adChar
rs.Open
rs.AddNew
rs("Spalte0") = "dies"
rs.AddNew
rs("Spalte0") = "das"
usw. solange noch Zeilen gefüllt werden müssen.
Das ist allerdings nicht auf meinem Mist gewachsen. Genaueres über die Möglichkeiten dieses Tricks bei
http://www.aspheute.com/artikel/20000516.htm
Gruss
Uwe Nohl
Hallo,
nein, ohne Redim geht das dynamisch nicht, aber welche Sorgen hast Du mit dem Redim eigentlich ? Gut, es tut der Systemperformance nicht unbedingt gut, einen Redim beispielsweise in einer Schleife ständig durchzuführen, aber mit ein bischen Verwaltungsaufwand kann man das schon machen.
Dim Data()
...
Redim Data(10) 'Erstmal 10 Felder reservieren
...
For I=1 To AnzahlSchleifenDurchläufe
...
If UBound(Data) < I Then Redim Preserve Data(I+10)
Data(I) = "Das ist Element " & I
...
Next
Wie Du siehst, wird hier das Array nur jedes 10. Mal redimensioniert.
MfG Christoph