Vb.net datei einlesen und in array schreiben

Hallo,

ich möchte mit vb.net eine Textdatei unbekannter länge zeilenweise einlesen und dann in ein Array schreiben. Bei den Daten handelt es sich um Adressen und sieht etwa fogendermaßen aus:

Max Mustermann Berlin
Gabriele Müller Hamburg

anschließend sollten diese Daten einzel in Textfeldern ausgeben werden.
D.H
textbox1.text = Max
textbox2.text = Mustermann

Ist es da besser ein ein- oder zweidimensionales Array zu verwenden?
Bisher habe ich folgen stand:

Dim zeilen() As String
dim anzahl as integer
Do While sr.Peek -1
zeilen.Add(sr.ReadLine)
zeilen(anzahl) = leerzeichen(zeilen(anzahl))
anzahl = anzahl + 1
Loop

Ich habe hier das Problem, dass die Funktion zeilen.Add unbekannt ist und nicht funktioniert.

Bin schon mal dankbar für eure Hilfe.

Willst du wirklich ein Array nehmen?
Günstiger ist vielleicht eine generische Liste (List (Of T)).
Da hätten wir dann auch das Problem mit eindimensional und zweidimensional gelöst. Erstelle einen neuen Datentyp für deine Daten:

 Structure meineDaten
 Dim Vorname As String
 Dim Nachname As String
 Dim adresse As String
 End Structure


 Dim Zeilen As New List(Of meineDaten)
 Dim AktuelleZeile As String
 Dim Teile As String()
 Do While sr.Peek -1
 AktuelleZeile = sr.ReadLine()
 Teile = AktuelleZeile.Split(" ")
 Zeilen.Add(New meineDaten With {.Vorname = Teile(0), .Nachname = Teile(1), .adresse = Teile(2)})
 Loop

Ich würde dir aber empfehlen, die Daten ordentlich zu speichern - also nicht mit Leerzeichen getrennt einfach hintereinander. Es sei denn, du kannst in jedem Fall sicherstellen, dass die Teile keine Leerzeichen enthalten (Doppelnamen etc.). Anbieten würde sich bspw. eine XML-Datei.

Nico

Danke,

hat mir schon mal ein Stück weiter geholfen

ist das auch möglich, wenn die einzelnen Elemente unterschiedliche Datentypen sind. D.h. wenn ich jetzt noch ein Element mit Alter (Interger) hinzufüge?

Ja, dazu musst du einfach eine Überklasse anlegen, die alle Gemeinsamkeiten festhält und dann je nachdem in Unterklassen weitere Details festlegen. Wie gesagt - Klassen. Mit Strukturen geht das nicht. Ist aber auch sehr ähnlich:

 Class GrundDaten
 Public Name As String
 End Class

 Class DatenMitVorname : Inherits GrundDaten
 Public Vorname As String
 End Class
 Sub Main()
 Dim Daten As New List(Of GrundDaten)
 Daten.Add(New GrundDaten With {.Name = "Ein Name"})
 Daten.Add(New DatenMitVorname With {.Name = "Noch ein Name", .Vorname = "ein Vorname"})
 End Sub

Nico