Autor Beitrag
Held123
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Sa 27.03.10 12:43 
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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: 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:
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 222
Erhaltene Danke: 16

Win XP, Win 7 64-Bit
C# 4.0 (VS2010)
BeitragVerfasst: Sa 27.03.10 13:05 
geht aber auch als generische Methode:

ausblenden 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 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: 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

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: 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#, und bei den Stichworten findest du ebenfalls Serialisierung.

Gruß Jürgen
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: 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 ;) .

_________________
>λ=