Kann man in VB.NET 2003 mit "Lines" arbeiten, ohne den String vorher in eine TextBox zu laden?
Antwort vom**Ja. `Lines` ist nur eine bequeme Eigenschaft der `TextBox`; wenn du keinen Text in eine `TextBox` laden willst, zerlegst du den String direkt selbst in ein String-Array und arbeitest damit weiter.** ## Der praktische Punkt In VB.NET 2003 gibt es keinen Vorteil daran, einen String erst in eine `TextBox` zu stecken, nur um danach `TextBox.Lines` zu benutzen. `Lines` liefert am Ende ebenfalls nur einzelne Zeilen zurück. Stattdessen nimmst du direkt `Split`: ```vb Dim text As String = "Zeile1" & vbCrLf & "Zeile2" & vbCrLf & "Zeile3" Dim lines() As String lines = Split(text, vbCrLf) ``` Danach kannst du mit `lines` genauso weiterarbeiten: ```vb Dim i As Integer For i = 0 To UBound(lines) MsgBox(lines(i)) Next ``` ## Wichtiges Missverständnis Der entscheidende Unterschied ist: - `TextBox.Lines` ist an ein UI-Steuerelement gebunden - `Split` arbeitet direkt auf dem String Für reine Textverarbeitung ist `Split` die sauberere Lösung, weil du die Oberfläche und die Logik trennst. ## Wichtige Einschränkung bei alten Zeilenumbrüchen `Split(text, vbCrLf)` funktioniert nur sauber, wenn dein Text wirklich Windows-Zeilenumbrüche verwendet. Falls der Text auch nur `vbLf` enthält, kann das Ergebnis unvollständig oder falsch getrennt werden. Robuster ist in solchen Fällen: ```vb Dim text As String = Replace(originalText, vbCrLf, vbLf) Dim lines() As String = Split(text, vbLf) ``` Das ist oft besser als `TextBox.Lines`, weil du die Trennung kontrollierst statt dich auf das Verhalten des Steuerelements zu verlassen. ## Kurz gesagt **Ja: Nimm direkt `Split`, nicht `TextBox.Lines`. Eine `TextBox` nur zum Zerlegen eines Strings zu missbrauchen ist unnötig.**