Hallo 🙂
Vorgeschichte:
Ich habe eine Textdatei, welche pro Zeile einen Befehl und einen Wert enthält. Beispiel:
setRate = 25000
minRate = 7500
[...]
Nun hätte ich am Ende gerne ein 2 dimensionales Array. Die erste Spalte jeder Zeile soll den Befehl enthalten, die 2. Spalte den dazugehörigen Wert.
Auf obiges Beispiel angewandt:
neuesArray[0, 0] enthält "setRate", neuesArray[0, 1] enthält "25000", neuesArray[1, 0] enthält "minrate", neuesArray[1, 1] enthält "7500" und so soll es nun weitergehen mit allen Zeilen (die Zahlenwerte dürfen gerne ein String sein, muss kein integer sein).
Was ich schon habe ist das einlesen der Zeilen, erstmal in ein eindimensionales Array:
StreamReader sr = new StreamReader("C:/datei.txt", System.Text.Encoding.Default);
string data = sr.ReadToEnd();
sr.Close();
string[] split = data.Split(new Char[] { '\n' });
Ist das so zu empfehlen? Funktioniert soweit, fraglich nur ob das auch eleganter geht.
Zurück zum Thema: man müsste nun ja erneut splitten, ein divider ist ja vorhanden (das Gleichheitszeichen).
Aber wie bringe ich das nun in ein 2D Array? die oben angewandte Split-Methode dürfte hier ja nicht so toll funktionieren.
Danke 🙂
splitte einfach immer am gleichheitszeichen dann bekommst du für jede zeile ein ein dimensionales array mit den 2 Werten dann musst du nurnoch die ganzen eindimensionalen arrays zu einem 2 dimensionalen zusammen fügen
Wir Arbeiten eigendlich nicht wir nehmen nur das geld
Hallo light,
hier ein zwei dimensionales Array zu verwenden, ist schlechtes Design. Verwende eine eindimensionale Liste einer Klasse oder eines Structs, der Befehl und Wert enthält.
herbivore