Erstellen leeres array und add-Wert bewirkt, dass "Array index out of range"

Was ist hier falsch?

string[] keysDictionary = new string[]{};
keysDictionary [0] = "test";

Bekomme ich

System.IndexOutOfRangeException
Array index out of range.

  • Denn das ist ein array mit 0 der Länge, die Sie tun sollten new string[length]
  • Brauche ich die Länge? Oder kann ich ein leeres array erzeugen und fügen Sie später die Werte (ich weiß nicht, wie viele Werte vor)?
  • verwenden List statt
  • In diesem Fall müssen Sie List<string> kein array
  • Sie sollte sich mit List<T>. Es ist eine array-artige Struktur, die ermöglicht das hinzufügen von mehreren Elementen.
  • Ich war zu viel in php. Hier können Sie dies tun.
  • Ein array fester Größe. Vielleicht möchten Sie verwenden eine List<string>.
  • Kann ich verwenden und index bei der Arbeit mit List<string>?
  • ja, Sie können einen index mit List<string>, MyList[3] oder ähnliches.
  • obwohl C# ist eine high-level Sprache, die es immer noch einige sehr grundlegende Konstrukte, wie Feste Felder, welche Sie verwenden möchten. Nur arrays verwenden (ie, Typ [] - syntax, wie int[]), wenn Sie eine fixe Kollektion, die Sie gehen, um die Iteration über viele Male. Meiner Meinung nach, für alle anderen Fällen ist der performance-Gewinn ist nicht der Mühe Wert, die Verfolgung der array-Größe manuell.

InformationsquelleAutor testing | 2014-09-12
Schreibe einen Kommentar