Autor Beitrag
SportGoofy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 47

Win XP Prof.
MS Visual C# 05 EE
BeitragVerfasst: Sa 17.11.07 16:27 
Hi!

Mein erstes größeres Programm in C läuft ganz gut.
Nur würde ich gerne einen Array speichern.
Hab aber beim bisherigen Lesen nix gefunden.
Gibt es da was spezielles in der IO bzw. bei Streams was besonderes?

Wäre schon, wenn mir jemand ein paar Stichworte
an den Kopf werfen könnte 8)
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 17.11.07 20:19 
Ich nutze zum Speichern von Daten sehr gerne den XmlSerializer. Bei einem Array sollte das so gehen:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
int[] myArr = new int[42];
/* ... füllen ... */
XmlSerializer xs = new XmlSerializer(typeof(int[]));
using(FileStream fs = File.Create(@"e:\\foo.xml"))
  xs.Serialize(fs , myArr);

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
SportGoofy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 47

Win XP Prof.
MS Visual C# 05 EE
BeitragVerfasst: Mo 19.11.07 16:07 
Ok, dass werde ich mir mal genauer anschauen. 8)

Gibt es eigentlich in C# auch so etwas wie record
in die ich mehrere Arrays packen kann?
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 19.11.07 16:21 
Ein Record ist in C# ein Struct.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
SportGoofy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 47

Win XP Prof.
MS Visual C# 05 EE
BeitragVerfasst: Di 20.11.07 22:12 
Hab jetzt das struct gebaut und scheint auch zu funktionieren.
Mit der Serialisation kann man ja im Prinzip den Zustand von allem abspeichern.
Hab ich gelesen :?

Bei meiner Recherche dazu wurde in einem Beispiel eine Klasse mit mmh Feldern :?:
gespeichert. Kann ich nun die Markierung [Serializable()] einfach vor mein struct schreiben und dann im obigen Quelltext bei fs, myArr - myArr durch den Namen des structs ersetzen und dann wird das struct im aktuellen Zustand gespeichert bzw. geladen mit dem entsprechenden Quellcode.

Hab ich das richtig verstanden?

Oder muß/sollte ich dann anstatt eines Struct eine Klasse erzeugen?
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 20.11.07 22:57 
user profile iconSportGoofy hat folgendes geschrieben:
und dann im obigen Quelltext bei fs, myArr - myArr durch den Namen des structs ersetzen und dann wird das struct im aktuellen Zustand gespeichert bzw. geladen mit dem entsprechenden Quellcode.
Hä? :nut:

Zeig mal Deinen Quelltext, das ist wahrscheinlich am einfachsten ;-)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Chryzler
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1097
Erhaltene Danke: 2



BeitragVerfasst: Mi 21.11.07 17:22 
Würde da aber eher eine Binär-Serialisierung benutzen, es sei denn du willst später den Inhalt der Datei auch von Hand mit nem Texteditor ändern können. BinaryFormatter soll schneller sein, und zudem kleinere Dateien erzeugen.