AW: Was ist Serialization?
Mit Serialisierung kann man Kopien von Objekten erstellen, um diese Zu übertragen oder zu speichern. Dazu gibt es in .net verschiedene Möglichkeiten. zB den XmlSerializer, um aus einem Objekt ein Xml Dokument erstelllen zu lassen, den BinaryFormatter um binäre Daen zu erzeugen. Und einen Haufen von selbstgeschriebenen natürlich auch um in verschiedene andere Formate zu Exportieren, wie zB JSon. Dann gibt es natürlich noch die Deserializierung. Der umgedrehte Weg.
Siehe auch: http://openbook.galileocomputing.de/...010_13_001.htm
AW: Was ist Serialization?
http://en.wikipedia.org/wiki/Serialization bzw http://de.wikipedia.org/wiki/Serialisierung
Das ist eine Technik, um Daten zu handhaben. Das bedeutet kurz gesagt, dass ein Objekt, z.B. eine Datei, inklusive aller dazu gehörigen Verknüpfungen in einen Datenstrom, also eine Abfolge von Bits, umgewandelt wird. Das ist nützlicher, als die Eigenschaften separat zu speichern oder um Änderungen zu bemerken.
Ein sehr vereinfachtes Beispiel: Datei.doc liegt auf deinem Speicher. Auf dem Speicherchip selbst liegt natürlich keine Datei, sondern nur Nullen und Einsen. Aber der Speicher enthält ein Dateisystem, also eine bestimmte Art und Weise, wie Daten darauf abgelegt und wieder gefunden werden. In einer speziellen Tabelle auf dem Speicher findet das System nun die Adressen der Datei.doc, also wo es anfangen und wo aufhören soll, zu lesen. Um jetzt zu wissen, ob du die Datei lesen darfst, oder ob es die aktuellste Version ist, muss das System in einer anderen Tabelle nach sehen. Das ist doof. Also speichert man lieber gleich alles an einen Ort.
ähnlich läuft das mit Objekten in Programmen, aber das würde hier glaube ich zu weit führen.
AW: Was ist Serialization?
Ich glaub die einfachste Variante sich das Vorzustellen ist die:
Serialisierung bedeutet Objekte (mitsamt ihren Verknüpfungen untereinander) in einen "Text" umzuwandeln
Deserialisierung bedeutet Objekte (mitsamt ihren Verknüpfungen) aus diesem "Text" wieder auszulesen
Der Text kann jetzt etwas wie XML sein oder JSON, aber auch direkte eine Binärrepresentation die nur für die Maschine aber nicht für den Menschen Sinn macht.
Der Unterschied ist dass Objekte ja mit Speicheradressen untereinander aufeinander verweisen und das geht in "Text" ja eher schlecht aber speichern kann ich nunmal nur einen durchgehenden Datenstrom.
Verwendet wird das ganze etwa weil man mehr als nur primitive Datentypen (int, string, etc.) halbwegs einfach speichern will oder wenn man Objekte über ein Netzwerk übertragen möchte.