List(Of String) mit dem Namen von Dateien

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Dodo.

    List(Of String) mit dem Namen von Dateien

    Hallo @ all,

    ich habe eines der verzwicktesten Probleme, die mir je untergekommen sind.

    und zwar lasse ich mit einer schleife Dateinamen Auslesen.

    jetzt möchte ich für jede vorhandene Datei eine List(Of String), mit dem namen der Datei. und deren inhalt, soll in die List.
    Das problem ist jetzt, dass ich zum Deklarieren der Lists nicht den Inhalt einer Variable als name nehmen kann.

    wie löst man so ein problem?

    es wird viele listen geben. und alle müssen eindeutig identifizierbar sein. und es ist eine belibige zahl von listen, die erstellt werden müssen. also muss die Deklaration dynamisch laufen.


    Wer eine idee hat, die funzt, der bekommt von mir 50 Thanks!

    KnifeHunter
    ^^
    Meinst du vlt. sowas??

    VB.NET-Quellcode

    1. Dim DateiListe As New Dictionary(Of String, String)
    2. DateiListe.Add("name.txt", File.ReadAllText("name.txt"))
    3. DateiListe.Add("foo.txt", File.ReadAllText("foo.txt"))
    4. DateiListe.Add("bar.txt", File.ReadAllText("bar.txt"))
    5. TextBox1.Text = DateiListe("foo.txt")
    Man kann auch eine List(Of List(Of String)) erstellen. Oder ein Dictionary(Of String, List(Of String)).Mit letzterem wäre jede List(Of String) eindeutig durch einen String (z. B. den Dateinamen) identifizierbar.

    Viele Grüße, Phil.

    YaPh1l schrieb:

    Man kann auch eine List(Of List(Of String)) erstellen. Oder ein Dictionary(Of String, List(Of String)).Mit letzterem wäre jede List(Of String) eindeutig durch einen String (z. B. den Dateinamen) identifizierbar.

    Viele Grüße, Phil.



    Kannst du dafür vlt ein codebeispiel posten?
    denn deine idee klingt doch recht gut... wenn es so klappt, wie du sagst, dann bekommst du die 50 thanks

    Mal dumm dargestellt sollte es so gehen:

    VB.NET-Quellcode

    1. For Each File In IO.Directory.GetFiles("PFAD")
    2. Dim File.Name As New List(Of String)
    3. Next


    dass der code so wie hier dargestellt nicht funktioniert, ist mir klar, er soll lediglich veranschaulichen, wie ich es haben nöchte.


    KnifeHunter
    ^^
    befindest sich dann in jeder List(Of String) jeweils der inhalt der datei, für den die list erstellt wurde?
    jede zeile der Textdatei soll in einen eigenen index in seiner Liste haben.

    ich werde es ausprobieren...


    KnifeHunter
    ^^
    Wozu eine Struktur wenn es bereits fertige Datentypen gibt??

    Wenn jede Zeile in ein Index soll ist Dictionary + String() das richtige

    VB.NET-Quellcode

    1. Dim dl As New Dictionary(Of String, String())
    2. dl.Add("datei.txt", File.ReadAllLines("datei.txt"))


    Da die Methode ReadAllLines ein Array vom Type String zurück gibt, benötigst du keine List(of).