Autor Beitrag
DrHoas
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 47



BeitragVerfasst: Mi 06.04.11 19:55 
Hallo,

ich hab

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
                List<string> scListe = new List<string>(anzahlScs);
                System.Diagnostics.Debug.WriteLine(nscListe.Capacity);
                System.Diagnostics.Debug.WriteLine(Daten.GetAttribute(0));
                for (int i = 0; i < anzahlScs; i++)
                {
                    scListe[i] = Daten.GetAttribute(i);
                }

Capacity ist 2, System.Diagnostics.Debug.WriteLine(Daten.GetAttribute(0)); liefert mir einen Wert. In der For-Schleife bekomme ich aber schon für i=0 eine ArgumentOutOfRangeException. Warum?

Dank und Gruß

Philipp

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 06.04.11 19:58 
Und welchen Wert hat anzahlScs?
// EDIT:
Ok, ich habe in der Doku gelesen, dass der Parameter die Kapazitätsangabe ist.


Zuletzt bearbeitet von jaenicke am Mi 06.04.11 20:01, insgesamt 1-mal bearbeitet
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 06.04.11 19:58 
Hallo!

Die Kapazität ist nicht gleich der Anzahl der Objekte, die sich in der Liste befinden. Es befinden sich immer nur so viele Elemente, wie Du explizit mit z.B. Add hinzugefügt hast. Ich zitiere da die Doku mal zu:
Zitat:
List<T>.Capacity-Eigenschaft

Ruft die Gesamtzahl der Elemente ab, die die interne Datenstruktur ohne Änderung der Größe aufnehmen kann, oder legt diese Anzahl fest.


Dein Code wird dadurch aber nur unwesentlich anders: In der Schleife einfach die Add-Methode benutzen.

Grüße
Christian

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



BeitragVerfasst: Do 07.04.11 11:07 
tut! Danke.

Philipp