Hallo zusammen,
ich wollte mal fragen, ob es möglich ist eine 3-dimensionale ArrayList zu erzeugen. Bei meinen Versuchen geht es nämlich nicht. In der Doku steht nichts das es nicht gehen sollte. Kann mir jemand helfen?
private ArrayList[,] offlineSigDaten;
this.offlineSigDaten = new ArrayList[this.anzSigAuswahl];
for(int i=0; i<this.anzSigAuswahl; i++)this.offlineSigDaten[i] = new ArrayList();
Danke
Danke
amozi
hi amozi,
du wählst in der deklaration für das was du mit offlineSigDaten vorhast nur die falsche dimension:
so geht es:
private ArrayList[] offlineSigDaten;
this.offlineSigDaten = new ArrayList[this.anzSigAuswahl];
for(int i=0; i<this.anzSigAuswahl; i++)this.offlineSigDaten[i] = new ArrayList();
hth
ron
und wenn du wirklich 3D willst:
ArrayList[,,] offlineSigDaten = new ArrayList[2, 3, 4];
for (int x = 0; x < offlineSigDaten.GetLength(0); x++)
for (int y = 0; y < offlineSigDaten.GetLength(1); y++)
for (int z = 0; z < offlineSigDaten.GetLength(2); z++)
offlineSigDaten[x, y, z] = new ArrayList();
he amozi, und noch was:
du erstellst ja keine "dreidimensionale arraylist", sondern eine "arraylist of arraylists"; daher wahrscheinlich dein denkfehler in der mehrdimensionalen deklaration.
die arraylist übernimmt ihre elemente ja mit Add(). so gesehen bist du jetzt erst zweidimensional.
in die innere arraylist kann man jetzt natürlich auch wieder eine arraylist legen und damit auf dimension drei ausweiten... 😉
hth
ron
Hi citizen.ron und Xqgene,
vielen Dank für die ausführliche Infos.
Danke
amozi
Hallo,
obwohl ich wohin gedacht habe die Thematik verstanden zu haben, sieht es so aus, dass bei mir immer noch hängt.
Unzwar habe ich mit dem folgenden Code die Felder einen statischen Array(this.anzSigAuswahl=3) dynamisch gemacht.
private ArrayList[] offlineSigDaten;
this.offlineSigDaten = new ArrayList[this.anzSigAuswahl];
for(int i=0; i<this.anzSigAuswahl; i++)this.offlineSigDaten[i] = new ArrayList();
Jetzt möchte ich eigentlich zwei dynamische Felder mit diesem statischen Array machen. Trotz Codebeispiel von
Xqgene ist es mir aber immer noch nicht gelungen.
this.test = new ArrayList[this.anzSigAuswahl,/*dynamisch aber wie*/];for(int x=0; x<this.anzSigAuswahl; x++)
for(int y=0; x< /* ??? */; y++)
this.test[x,y] = new ArrayList();
Wie führt man eigentlich dann den Abruf der Daten aus?
Würde mich freuen wenn ich wieder Unterstützung kriegen könnte.
Danke
amozi
lies dir mal bitte Verwendung von Arrays in C# durch und schau dann auch mal ob dein problem wirklich damit gelöst wird...
ich frag mich nämlich grad was du überhaupt mit deinen 3-dimensionalen Array vom Typ ArrayList anfangen willst.