txt inhalt in einer list of string hinzufuegen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Visual_Prog.

    txt inhalt in einer list of string hinzufuegen

    VB.NET-Quellcode

    1. Dim list_ As New List(Of String)
    2. For i = 0 To ListBox1.Items.Count - 1
    3. list_.Add(IO.File.ReadAllLines(combinedpath1 & "Liste.txt"))
    4. Next



    --> der wert vom typ 1 dimensionales array kann nicht in string konvertiert werden


    ich würd das gerne machen...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Visual_Prog“ ()

    Bei einer List(Of String) kannst du nur Strings mit der .Add-Methode aufnehmen - aber du addest ein Stringarray()!
    msdn.microsoft.com/de-de/libra…cs-lang=vb#code-snippet-2
    msdn.microsoft.com/de-de/library/s2tte0y1(v=vs.110).aspx
    Warum du die StringList elementweise durchläufst ist mir schleierhaft.
    Ich glaube du willst die eingelesenen Zeilen durchlaufen und sie in der List(Of String) aufnehmen - oder?
    Das ginge aber dann wesentlich schneller mit einer anderen Methode...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VB1963“ ()

    Oder noch kürzer:

    VB.NET-Quellcode

    1. Dim list = System.IO.File.ReadAllLines("C:\Temp\Test.csv").ToList
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    ok danke wieder fuer die zahlereichen Tipps.

    VB.NET-Quellcode

    1. Dim list = System.IO.File.ReadAllLines("C:\Temp\Test.csv").ToList


    diese Schreibweis ist mir in letzter Zeit haeufiger aufgefallen.

    auch zb. sowas wie

    VB.NET-Quellcode

    1. Dim hits = File.ReadAllLines("File.txt").Where(Function(line) line.Contains(TextBox2.Text)).ToList()

    irgendwie ziemlich cool dass man so zeilen als eine Art Datentyp schrieben kann


    eine Frage habe ich noch:
    .ToList: in welche Liste wird das dann eingefuegt? oder ist das ein befehl, dass es als Array gehandhabt werden soll?




    .ToArray macht nen Array..
    ToList macht ne Liste.
    Und zwar ne Liste von dem was es gefüttert bekommt.
    ReadAllLines heißt ja es gibt mehrere "Items"...

    "As String()" ist hier das Zauberwort.


    Jedes Item hat den Typ String... Also macht in dem Fall das ToList ne "Liste" bestehend aus Items der Klasse String.
    So funktioniert For Each ja auch.

    Wirf Liste und Array nicht durcheinander. Das sind zwei gänzlich unterschiedliche Dinge.

    VB.NET-Quellcode

    1. Dim list = System.IO.File.ReadAllLines("C:\Temp\Test.csv").ToList
    2. Dim array = System.IO.File.ReadAllLines("C:\Temp\Test.csv")

    Vergleich den Unterschied!

    Sry für die vielen Edits XD

    Und noch einer:.ToList: in welche Liste wird das dann eingefuegt?
    In keiner... Außer du sagst es ihm... Wie in dem Fall durch das
    Dim List =
    Damit weiß er... erstell ne Variable... dann prüft er welcher Typ? Also guckt er was kommt nach dem Gleich denn für nen Typ...
    Und dann schmeißt er in die neu erstellte List das Ergebnis von dem was rechts vom Gleich steht rein.

    Schau dir im Debugging mal an was da so passiert:

    VB.NET-Quellcode

    1. Dim list = System.IO.File.ReadAllLines("C:\Temp\Test.csv").ToList
    2. Dim list2 As List(Of String)
    3. list2 = System.IO.File.ReadAllLines("C:\Temp\Test.csv").ToList
    4. Dim array = System.IO.File.ReadAllLines("C:\Temp\Test.csv")
    5. Dim list3 As List(Of String)
    6. list3 = array.ToList
    7. Dim list4 = array.ToList
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „MemoAnMichSelbst“ ()

    Visual_Prog schrieb:

    ziemlich cool
    sofern Du verstehst und erklären kannst, was da eigentlich abgeht.
    Ansonsten nimm einen Mehrzeiler, den Du durch Hinsehen in einem halben Jahr noch verstehen kannst.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Muss mal den post von memo Später mal in Ruhe durchgehen. ich hab noch eben eine aehnliche Frage und zwar
    gibt es eine text Datei mit Stichwoertern.
    Dann giobt es noch eine list of string.
    Diese list of string soll einen Eintrag hinzufuegen, wenn er NICHT in der txt vorhanden ist.
    Man muss also die txt anch dem wort durchsuchen.

    habe dies wie folgt geschrieben, jedoch wird das wort dann leider immernoch hinzugefuegt, obwohl es in der txt vorhanden ist.


    VB.NET-Quellcode

    1. If Not System.IO.File.ReadAllLines(combinedpath1 & "Liste.txt").Contains(ListBox1.Items) Then
    2. list_.Add(CStr(ListBox1.Items(i)))
    3. End If

    Visual_Prog schrieb:

    Dann gibt es noch eine list of string.

    VB.NET-Quellcode

    1. If Not list_.Contains(DAS_NEUE_WORT) Then
    2. list_.Add(DAS_NEUE_WORT)
    3. End If
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @Memo okay ja am besten gefallen hat mir
    Dim list2 As List(Of String)
    list2 = System.IO.File.ReadAllLines(combinedpath1 & "Liste.txt").ToList

    ist irgendwie am uebersichtlichsten.

    Anscheinend hat ja ein array eine Lenght, und die list hat einfach items die gazaehlt werden, das ist irgendwie einfacher zu handhaben anstadt den array erstmal uebversetzen zu muessen.