Autor Beitrag
Cäptin Pommes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 142
Erhaltene Danke: 2



BeitragVerfasst: Di 26.01.10 19:49 
Hallo,

wie isn das wenn ich etwas in einer Array List an Position 15 packe obwohl sagen wir bisher nur bis position 5 elemente drin sind, werden dann neue elemente die ich einfach nur mit add hinzufüge ab position 6 rangehangen oder ab position 17?
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Di 26.01.10 20:17 
Das geht überhaupt nicht - probier es doch mal aus, die von Insert geworfene Exception dürfte relativ aufschlussreich sein.
Erst einmal kannst du ArrayList gleich aus deinem Gedächtnis löschen und durch List<T> ersetzen ;) .
Beide Klassen können nur zusammenhängende Index-Bereich von 0 bis n darstellen. Die Zwischenräume könntest du zwar mit null auffüllen, ein Dictionary<int, T> scheint mir aber passender zu sein.

_________________
>λ=
Cäptin Pommes Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 142
Erhaltene Danke: 2



BeitragVerfasst: Di 26.01.10 20:22 
achso gut dann hat sich das natürlich erledigt ^^ danke.

Aber wies die Array List vergessen und durch List<T> ersetzten?
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Di 26.01.10 20:31 
user profile iconCäptin Pommes hat folgendes geschrieben Zum zitierten Posting springen:
achso gut dann hat sich das natürlich erledigt ^^ danke.

Aber wies die Array List vergessen und durch List<T> ersetzten?

Weil die ArrayList nur allgemein mit dem Typ object arbeitet, also jedes Element, das benutzt werden soll, erst in den gewünschten/passenden Typ konvertiert werden muss. Bei der List<T> legst du fest, mit Daten welchen Typs T sie gefüllt werden soll.

Jürgen
Cäptin Pommes Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 142
Erhaltene Danke: 2



BeitragVerfasst: Di 26.01.10 20:36 
Also muss ich vorher sagen was <T> sein soll für ein typ und dann kann ich in der List diese typen reinpacken oder was?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 26.01.10 21:31 
Genau richtig, und dann kann da auch nicht aus Versehen was anderes drin landen und beim Auslesen Probleme machen.
Cäptin Pommes Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 142
Erhaltene Danke: 2



BeitragVerfasst: Di 26.01.10 21:38 
Ok ich hab das auch gleich mal gemacht und jetzt versuch ich gerade auf ein element zuzugreifen ich will den Index ansprechen aber das geligt mir nich welche is dafür die richtige methode?

also in meiner list befinden sich arrays und nun will ich in mein temp[] array die werte aus einem array aus der Liste speichern
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 26.01.10 21:44 
Es gibt z.B. die Methode Copy, mit der du einen Bereich des Arrays kopieren kannst. Und einzelne bekommst du direkt mit eckigen Klammern mit dem Index darin.
Nemag
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 132
Erhaltene Danke: 2



BeitragVerfasst: Mi 27.01.10 17:11 
Das du dein Objekt an einen bestimmten Index hinzufügen willst hat doch bestimmt was zu sagen oder?

Wenn du von vornherein weißt wie groß deine Liste wird, kannst du auch ein Array benutzen.

ausblenden C#-Quelltext
1:
DeinObjekt[]					


Oder was hat es mit dem Setzen deines Eintrag an einer bestimmt Stelle auf sich?