Multi array in Datei/Datenbank speichern

  • Allgemein

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von teaparty.

    Multi array in Datei/Datenbank speichern

    Hallo

    Ich habe ein 3Dimensionales Array, dass ich abpeichern will.

    Jetzt ist meine Frage, wie kann ich dies tun, welche Methode ist die beste. XML, SQlite, access, txt-datei, etc...?
    Es sollte nicht all zu kompliziert sein, nicht zu viel performance in anspruch nehmen und möglichst schnell das array abspeichern bzw ausgeben.

    Ausgabe sollte in verschiedene textboxen bzw. listboxen erfolgen.

    Schreibt bitte auch einen kleinen Code-Schnipsel eures Favoriten dazu (einlesen und abspeichern).


    Danke schon mal im Vorraus. ;)

    Lg
    Hey.

    Du könntest die Objekte mittels eines BinaryFormatters serialisieren.
    Ich habe dir einen kleinen Beispielcode geschrieben, der ein dreidimensionales Integer-Array serialisiert.
    Beachte aber, dass ich ihn per Online-Übersetzer in VB.NET übersetzt habe, da ich mittlerweile in C# besser bin.
    Falls etwas nicht funktioniert, weise mich bitte darauf hin. ;)

    VB.NET-Quellcode

    1. Private Sub Serialize()
    2. Dim zahlen As Integer(,,) = New Integer(9, 9, 9) {} ' Integer-Array erstellen
    3. Dim r As New Random() ' Ein Objekt, mit dem wir zufällige Zahlen generieren werden
    4. For x As Integer = 0 To 9
    5. For y As Integer = 0 To 9
    6. For z As Integer = 0 To 9 ' dreidimensionale Schleife
    7. zahlen(x, y, z) = r.[Next](Int32.MinValue, Int32.MaxValue) ' in jeden Index des Arrays einen zufälligen Wert schreiben
    8. Next
    9. Next
    10. Next
    11. Dim fs As FileStream = File.OpenWrite("test.bin") ' FileStream für die Datei erstellen, in der wir die Daten speichern möchten
    12. Dim bf As New BinaryFormatter() ' Der Formatter, den wir zum Speichern verwenden werden
    13. bf.Serialize(fs, zahlen) ' Zahlen speichern (ja, das ist so einfach)
    14. fs.Dispose() ' Datei freigeben
    15. End Sub
    Das Lesen ist ähnlich einfach.

    VB.NET-Quellcode

    1. Private Sub Deserialize()
    2. Dim fs As FileStream = File.OpenRead("test.bin") ' Datei zum Lesen öffnen
    3. Dim bf As New BinaryFormatter()
    4. Dim zahlen As Integer(,,) = bf.Deserialize(fs) ' Laden/Deserialisieren
    5. fs.Dispose() ' Datei freigeben
    6. End Sub
    Ich hoffe, ich konnte dir helfen.
    Bei weiteren Fragen, frag nur. ;)
    wow, danke haiyyu!

    Hab noch

    VB.NET-Quellcode

    1. Imports System.Collections
    2. Imports System.Runtime.Serialization.Formatters.Binary
    3. Imports System.Runtime.Serialization


    am anfang hinzugefügt, da es sonst den "BinaryFormatter()" nicht kennt.