Autor |
Beitrag |
kiar
Beiträge: 51
|
Verfasst: Di 03.01.06 17:27
moin,
wie kann ich eine Liste serialisieren. C#-Quelltext 1: 2: 3: 4: 5: 6:
| System.Collections.Generic.List<Auto> autos = new System.Collections.Generic.List<Auto>(); { autos.Add(new Auto(1, "Ford", "ASL - PD 89")); autos.Add(new Auto(2,"Mazda", "ASL - BA 169")); autos.Add(new Auto(3,"Audi", "ASL - KH 66")); } |
folgendes habe ich probiert: C#-Quelltext 1: 2: 3: 4:
| System.Runtime.Serialization.Formatters.Binary.BinaryFormatter mySer = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); FileStream fs = new FileStream("Auto.xml",FileMode.Create,FileAccess.Write); for (int i = 1 ;i <= autos.Count; i++){ mySer.Serialize(fs, typeof(Auto));} |
auch wenn ich als zu serialisierens Object die Liste autos einstelle funktioniert es nicht.
bräuchte mal ein paar schläge auf den Hinterkopf.
achso die Klasse Auto C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29:
| [Serializable()] public class Auto { protected string marke; protected string kennzeichen; protected int index; public string Marke { get{return marke;} set{marke = value; } } public string Kennzeichen { get{return kennzeichen;} set{kennzeichen = value;} } public int Index { get {return index;} set{index = value;} } public Auto(int Index, string Marke, string Kennzeichen) { this.Index = Index; this.Marke = Marke; this.Kennzeichen = Kennzeichen; } } |
|
|
Christian S.
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Di 03.01.06 17:47
Äh, naja, Du serialisierst auch jedes Mal typeof(Auto) und nicht autos[i] (Die Schleife sollte auch bei 0 starten und bei Count-1 aufhören )
//edit: Das Namespace-Gedöns brauchst Du ürbigens auch nicht jedes Mal davor schreiben
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
kiar
Beiträge: 51
|
Verfasst: Di 03.01.06 17:56
moin,
wenn du oben gelesen hättest , wüstest du, das ich auch dies schon probiert habe.
Christian S. hat folgendes geschrieben: |
//edit: Das Namespace-Gedöns brauchst Du ürbigens auch nicht jedes Mal davor schreiben |
auch nicht, wenn der namespace noch nicht vorhanden ist ?
raik
|
|
Christian S.
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Di 03.01.06 18:05
kiar hat folgendes geschrieben: | wenn du oben gelesen hättest , wüstest du, das ich auch dies schon probiert habe. |
Dein Tonfall motiviert nicht wirklich, Dir weiterhin zu helfen. Aber immer den Typ Auto zu serialisieren kann wohl kaum die Lösung sein, daher wäre es wohl sinnvoll, mal den Versuch mit der Liste hier zu posten.
kiar hat folgendes geschrieben: | auch nicht, wenn der namespace noch nicht vorhanden ist ? |
Da bin ich jetzt einfach mal von ausgegangen ... System.Collections.Generic wird von VC#Express z.B. standardmäßig eingebunden.
//edit: Nachtrag:
So geht es bei mir:
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| List<Auto> autos = new List<Auto>(); autos.Add(new Auto(1, "Ford", "ASL - PD 89")); autos.Add(new Auto(2, "Mazda", "ASL - BA 169")); autos.Add(new Auto(3, "Audi", "ASL - KH 66"));
BinaryFormatter mySer = new BinaryFormatter(); FileStream fs = new FileStream("c:\\Auto.xml", FileMode.Create, FileAccess.Write);
mySer.Serialize(fs, autos);
fs.Close();
fs = new FileStream("c:\\Auto.xml", FileMode.Open); List<Auto> mehrAutos = (List<Auto>)mySer.Deserialize(fs);
foreach (Auto a in mehrAutos) MessageBox.Show(a.Kennzeichen); |
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
kiar
Beiträge: 51
|
Verfasst: Di 03.01.06 18:19
Christian S. hat folgendes geschrieben: | Dein Tonfall motiviert nicht wirklich, Dir weiterhin zu helfen. Aber immer den Typ Auto zu serialisieren kann wohl kaum die Lösung sein, daher wäre es wohl sinnvoll, mal den Versuch mit der Liste hier zu posten. |
deine smilies sehen überheblich aus und erwecken den anschein, als ob du über den dingen schwebst. mein tonfall ist nur die reaktion auf deine arrogante visualisierung deiner antwort.
dann werde ich es wohl alleine versuchen, oder auf andere hilfe hoffen müssen.
Zitat: | System.Collections.Generic wird von VC#Express z.B. standardmäßig eingebunden. |
jetzt wo du es sagst sehe ich es auch.
raik
edit// Danke ich werde es mir anschauen
|
|
Christian S.
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Di 03.01.06 18:28
kiar hat folgendes geschrieben: | deine smilies sehen überheblich aus und erwecken den anschein, als ob du über den dingen schwebst. |
Entschuldige mal bitte. Wenn jemand immer denselben Typ serialisiert und glaubt, damit die Daten einer Instanz in einen Stream zu packen, wird man ja wohl nochmal ein " " loswerden dürfen. Ich war davon ausgegangen, dass das einfach ein Flüchtigkeitsfehler war und dass Du es eigentich besser weißt. Falls das falsch rübergekommen ist, tut es mir Leid, aber vielleicht solltest Du auch ein bisschen weniger empfindlich reagieren.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
kiar
Beiträge: 51
|
Verfasst: Di 03.01.06 18:55
So,
habe meinen Fehler gefunden, ich kann mir das File nicht im explorer anschauen, was ich aber immer wieder versucht habe.
verstehe ich zwar nicht, muss ich mir näher anschauen. so wie Christian es oben geschrieben hat klappt es prima( auch ohne den ganzen namespace Gedöns)
klappt aber auch mit
danke raik
|
|
|