ich mochte die Laenge eines Array in c# mit der laenge einer Liste gleich setzten. wie geht das?

3 Antworten

Verändern kannst du ein bestehendes Array in seiner Länge nicht mehr. Wenn es bereits existiert musst du ein neues erstellen und den Inhalt vom alten Array in das neue übertragen. Je nach Größe von der wir hier sprechen ist das sehr ineffizient und ein richtiges Bottleneck in deinem Code. Es sei denn du trickst mit Pointern, was in C# aber eigentlich ungewollt ist.

Die Arbeit kannst du dir aber eigentlich sparen, denn vom Konzept her ist eine Liste ein dynamisches Array, dessen Add( ) Funktion genau das für dich macht.

Zudem kannst du mit der ToArray( ) Funktion eine Liste zu einem Array konvertieren.

LG Knom

Woher ich das weiß:Studium / Ausbildung – Softwareentwickler mit 10 Jahren Berufserfahrung 💾
int l = list.Count;
string[] array = new string[l];

Sollte so klappen.

Woher ich das weiß:Berufserfahrung

Naja, du musst wohl einen neuen Array erstellen und mit den Daten füllen bis wohin du das willst. Für so einen speziellen Fall gibt es keine Systemmethode, evtl. System.arraycopy unter Java. Unter C# wird es wohl wahrscheinlich etwas ähnliches geben.