Arraylist Speichern & Laden

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Arraylist Speichern & Laden

    Hi

    Ich habe eine Frage und zwar würde ich gern eine Arraylist als Datei Speichern und auch wieder auslesen.

    Google sagt mir nur wie ich ein Array speichern kann. Ich habe mich noch nicht so mit Arrays befasst also weiss ich nicht ob Arraylist und Arrays das gleiche sind.

    Bitte aufklären wenn möglich.



    Ich bedanke mich schonmal vorher.
    viele reden hier über "my.settings" such mal danach.
    wenn in dem array werte sind die als text speicherbar sind, kannst du mal nach "msdn serializer json" googlen. das kann objekte zu strings und die strings wieder zurück zu objecte wandeln. die strings kannst du in textdateien oder so speichern
    @DoomStyler: ArrayList ist untypisiert und sollte nicht mehr verwendet werden. Verwende List(Of T).

    Und um die Frage zu beantworten müssen wir wissen, was drin ist. Wenn es Strings, Integers oder andere primitive Datentypen sind, geht's einfach.
    Wenn es komplexere sind, gibt's unterschiedliche Möglichkeiten (XML-Serialisierung, binär-Serialisierung, ...)

    Und wo möchtest Du es speichern? My.Settings speichert unter AppData\Local\Programmordner (oder war's Appdata\Roaming\Programmordner?).
    Diese Dateien sind für jeden Benutzer am Computer unterschiedlich. Hmmm. Kann man bei My.Settings überhaupt Arrays speichern? Jedenfalls ist das auch eher für primitive Datentypen geeignet. Wenn es komplexe Datentypen sind müsstest Du es schaffen, diese in Strings umzuwandeln. Und da kann viel schief gehen.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils
    Nimm mal statt der

    DoomStyler schrieb:

    Arraylist
    eine List(Of String).
    ArrayList ist zu unspezifisch:
    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!
    Wie gesagt, ArrayList ist eine untypisierte Collection, die kein Generika unterstützt. Eine List(Of T) unterstützt dies jedoch wegen dem "T", was in dem Fall einfach ein Platzhalter für einen Datentypen ist und somit ist die List(Of String) im konkreten Beispiel typensicher. Auch wenn du nur Strings in der ArrayList drinne hast ist es unsauber. Dann kannste gleich ne Liste verwenden, was dann die saubere Alternative ist.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Was Du brauchst, ist ein typ. DataSet und ein DataGridView, vergiss das ListView-Control. Leg in dem DataSet eine DataTable an, lege die Spalten fest, die Du brauchst, binde diese Table an das DataGrid und füllte die Table. Ein DataSet kannst Du ganz einfach durch den Aufruf von DataSetX.WriteXML() speichern, respektive mit DataSetX.LoadXML() laden. ListView ist zu nichts zu gebrauchen.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    @DoomStyler:
    Wenn du nichts mit Dataset und DGV in deinem Projekt vor hast (obwohl @SpaceyX: Vorschlag bei komplexen Daten der beste Weg wäre...)
    kannst du auch folgend vorgehen, wie in der SampleSolution realisiert ist. Ich habe mich da kurz gespielt...

    Dort wird ein Settings TestListe als List(Of String) realisiert - schaue in der Settings.vb nach.
    Dieses Settings ist an eine ListBox mit der Eigenschaft Datasource angebunden: ListBox1.DataSource = My.Settings.TestListe
    Wenn du da im Textfeld eine Eingabe machst, kannst du den Eintrag in die Listbox übertragen...
    Das Settings wird automatisch beim Schließen der Form, wie üblich, gespeichert...
    Dateien

    DoomStyler schrieb:

    Nur wie Speicher & Lade ich die Daten aus ner Datei?
    Lege zunächst ein Datenformat fest
    oder
    Nimm ein Format, dass von Controls per default unterstützt wird: DataTable und XML:
    myDataTable.WriteXml(PFAD) bzw. myDataTable.ReadXml(PFAD).
    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!