Hallo,
das ist offensichtlich eine Eigenart der Hashtable. Das Beispiel in der
SDK-Doku/MSDN unter "Informationen zur
Hashtable-Klasse" hat eine genauso verwirrende Ausgabe. Außerdem entspricht die Sortierung sowieso nicht der Eingabe, sondern dem Schlüssel (und das sind bei Dir Strings):
Zitat: |
Stellt eine Auflistung von Schlüssel-Wert-Paaren dar, die nach dem Hashcode des Schlüssels organisiert sind. |
Da aus dem Schlüssel ein
Hashcode erzeugt wird, hat die Reihenfolge eine andere Bedeutung, die so nicht vorhergesagt werden kann.
Unter anderem deshalb wurde vermutlich das
Dictionary<T, U> eingeführt. Vielleicht befasst Du Dich einmal mit
[Artikel] Grundlegendes zu Hashtable/Dictionary.
Gruß Jürgen
PS. Code kann gekennzeichnet werden: Unter "Bereiche" das C# auswählen und das Plus anklicken. Das kannst Du auch nachträglich erledigen (sofern nicht ein Moderator schneller ist).
PS2. Die Antwort von Th69 kam, während ich meinen Beitrag geschrieben habe. Wenn dahinter eine Liste von speziellen Objekten (einer gemeinsamen Klasse) liegt, kann er recht haben. Wenn es um Key-Value-Paare geht, ist Dictionary das Mittel der Wahl.