Entwickler-Ecke
IO, XML und Registry - List<T> in Datei speichern
Held123 - Sa 27.03.10 12:43
Titel: List<T> in Datei speichern
Hallo,
ich habe eine List<T> die mit Strings gefüllt ist, und diese List<T> würde ich gerne in eine Datei Speichern.
Aber ich weiss egentlich nich wie man halt so ne List Speichern kann.
kann mir das jemand erklären wie das geht? oder mir nen Link geben?
danke
jfheins - Sa 27.03.10 12:51
Es gibt so viele Möglichkeiten ^^
Du könntest zum Beispiel nen xml-serializer verwenden - hier mal ein kleiner Codeausschnitt:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| List<int> data = new List<int>(); var x = new XmlSerializer( data.GetType(), new Type[] { typeof(int) } ); TextWriter writer = new StreamWriter(@"../../../konfig.xml"); x.Serialize(writer, data); writer.Close(); |
So ungefähr ( hab ein bisschen was weggenommen, bin mir nicht sicher ob das so läuft)
Dafür musst du aber wiussen, von welchen Typen deine Elemente sein können (musst du dem xmlserializer in dem 2. Parameter übergeben)
Oder meinst du eine ganz allgemeine List<T> ?
norman2306 - Sa 27.03.10 13:05
geht aber auch als generische Methode:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| public void SaveXML<T>(List<T> data, string path) {
using(var x = new XmlSerializer(data.GetType(), new Type[] { typeof(T) })) { using(TextWriter writer = new StreamWriter(@"../../../konfig.xml")) { x.Serialize(writer, data); } };
} |
Held123 - Sa 27.03.10 13:44
könntet ihr mir den Code irgentwie genauer erklären?
Weil ich kann zum beispiel nix mit serializer nix anfangen.
also meine List sieht so aus
C#-Quelltext
1:
| List<String> ListeGer = new List<String>(); |
und die habe ich jetzt mit .Add(); gefüllt und ich will die ListeGer nun in eine Datei speicher damit ich sie zu nem anderen Zeitpunkt wieder laden kann und verwenden kann
JüTho - Sa 27.03.10 14:00
Die Erklärungen sind alle in der
SDK-Doku/MSDN/Hilfe zu finden, in der Regel auch mit Beispielen. (Beispiele, die dir im Forum vorgesetzt werden, stammen sehr oft per Copy&Paste aus der Hilfe.)
Du hast alle nötigen Stichworte beisammen, z.B. die Klasse
XmlSerializer und die Methode
Serialize.
Darüberhinaus gibt es eine Einführung durch
OpenBook VC# [
http://openbook.galileocomputing.de/visual_csharp], und bei den Stichworten findest du ebenfalls Serialisierung.
Gruß Jürgen
Kha - Sa 27.03.10 14:24
Wenn es nur um Strings, die keinen Zeilenumbruch enthalten, geht, würde ich zuallererst File.Read/WriteAllLines in Betracht ziehen ;) .
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!