Laden...

Split in 2D Array speichern

Erstellt von light vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.490 Views
L
light Themenstarter:in
5 Beiträge seit 2007
vor 16 Jahren
Split in 2D Array speichern

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 🙂

1.549 Beiträge seit 2004
vor 16 Jahren

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

49.485 Beiträge seit 2005
vor 16 Jahren

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