Hallo,
Deine Frage umfasst zwei Probleme: zum einen das Einlesen der Zeilen, zum anderen das Aufteilen einer jeden Zeile. Das Ganze lässt sich umfangreich lösen über
CsvReader; dazu gibt es viele Tipps über Foren oder Google oder
CodeProject oder
ConnectionStrings.
Du kannst es aber auch schnell lösen mit Standard-Methoden:
File.ReadAllLines liest eine Textdatei in ein String-Array.
String.Split teilt eine Textzeile in ein Array auf. Ein Verfahren sieht also etwa so aus:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| string filename = @"C:\GemeinsameDaten\MyText.txt"; string[] rows = File.ReadAllLines(filename); Dictionary<int, string[]> contents = new Dictionary<int, string[]>(rows.Count); for(int x1 = 0; x1 < rows.Count; x1++) { string[] content = rows[x1].Split(new char[] {','}); contents.Add(x1, content); } |
Achtung, dieser Code enthält einen Fehler - siehe die folgenden drei Beiträge.
Ich habe ein
Dictionary verwendet, weil dies mit variabler Größe arbeitet; genauso wäre auch
List<string[]> geeignet. Wegen der festen Größe sind Arrays in der Regel nur zum Einlesen und als konstante Größe nützlich. Aber wenn Du Deine Werte auch ändern und nachher wieder speichern willst, sind List<T> und Dictionary<T, U> vorzuziehen.
Gruß Jürgen