Autor Beitrag
Fetze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 65
Erhaltene Danke: 1



BeitragVerfasst: Fr 05.10.07 17:13 
Ganz kurz: Wie geht das? Oder muss ich das manuell machen, ein neues Array erstellen und alle Werte übertragen? Wie macht die Systeminterne ArrayList das denn?
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 05.10.07 17:19 
Wenn Du sowas brauchst, ist ein Array dafür sehr ungeeignet. Nimm stattdessen eine generische List<T>, die ist komfortabler.

ArrayList und List<T> benutzen, wenn man Reflector glaubt, was ich tue ;-), auch ein Array. Aber sie nehmen Dir die ganze Arbeit ab ;-)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Fetze Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 65
Erhaltene Danke: 1



BeitragVerfasst: Fr 05.10.07 17:23 
Wenn ArrayList UND List<> ein Array verwenden, wo ist dann der Unterschied? oO
Ich hatte List<> immer für eine LinkedList gehalten..?

Und: Ist bei ArrayList auch sicher, dass ein Index A auch immer das Objekt enthält, was ich zuvor bei Index A eingefügt habe? Das ist in diesem Fall wichtig, weswegen ich das eigentlich selbst übernehmen wollte. Außerdem sollte das ganze möglicht schnell sein, weswegen ich vor List<>, die ich ja für eine Linkedlist gehalten habe / halte, zurückschrecke.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 05.10.07 17:32 
user profile iconFetze hat folgendes geschrieben:
Wenn ArrayList UND List<> ein Array verwenden, wo ist dann der Unterschied? oO
Dass List<T> eine generische Liste ist, die Dir (a) das stände hin- und her-casten erspart und (b) damit auch das boxing / unboxing bei Werttypen. Damit ist sie komfortabler, schneller und vor allem typensicher.

user profile iconFetze hat folgendes geschrieben:
Ich hatte List<> immer für eine LinkedList gehalten..?
Ich war auch überrascht, aber kannst es Dir ja im Reflector anschauen ;-)

user profile iconFetze hat folgendes geschrieben:
Und: Ist bei ArrayList auch sicher, dass ein Index A auch immer das Objekt enthält, was ich zuvor bei Index A eingefügt habe?
Wenn Du Elemente, die vor Index A liegen, wieder entfernst, rutschen die anderen natürlich nach.

user profile iconFetze hat folgendes geschrieben:
Das ist in diesem Fall wichtig, weswegen ich das eigentlich selbst übernehmen wollte. Außerdem sollte das ganze möglicht schnell sein, weswegen ich vor List<>, die ich ja für eine Linkedlist gehalten habe / halte, zurückschrecke.
Mit der Performance von List<T> hatte ich eigentlich nie Probleme.


Schau Dir mal LinkedList<T> an, das ist eine doppelt verkettete Liste, allerdings dann natürlich ohne den Zugriff durch Indizes.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".


Zuletzt bearbeitet von Christian S. am Fr 05.10.07 17:35, insgesamt 1-mal bearbeitet
Fetze Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 65
Erhaltene Danke: 1



BeitragVerfasst: Fr 05.10.07 17:34 
Okay, dann danke :)
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 05.10.07 17:36 
Hast mein Edit evtl. nicht mehr gesehen:

Schau Dir mal LinkedList<T> an, das ist eine doppelt verkettete Liste, allerdings dann natürlich ohne den Zugriff durch Indizes.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".