Speichern und Wiederherstellen von C#-Objekten: Serialisierung und Deserialisierung
Serialisierung speichert Daten in einem tragbaren Format und erleichtert so die Übertragung von Objekten zwischen verschiedenen Anwendungen, Systemen oder Maschinen.
Um ein Objekt zu serialisieren, müssen Sie das Attribut-Tag [Serializable]
verwenden und einen parameterlosen Konstruktor einbinden. Darüber hinaus können die Attribute [XmlIgnore]
und [JsonIgnore]
verwendet werden, um bestimmte Attribute oder Felder auszuschließen.
Beispiel
Bedenken Sie Folgendes SomeClass
:
[Serializable] public class SomeClass { public string someProperty { get; set; } } SomeClass object1 = new SomeClass { someProperty = "someString" };
In Datei speichern
BinarySerialization:
BinaryFormatter binaryFormatter = new BinaryFormatter(); using (Stream stream = File.Create("object1.bin")) { binaryFormatter.Serialize(stream, object1); }
XML-Serialisierung:
XmlSerializer serializer = new XmlSerializer(typeof(SomeClass)); using (TextWriter writer = new StreamWriter("object1.xml")) { serializer.Serialize(writer, object1); }
JSONSerialisierung:
using (StreamWriter writer = new StreamWriter("object1.json")) { writer.Write(JsonConvert.SerializeObject(object1)); }
Aus Dateien wiederherstellen
BinaryDeserialization:
BinaryFormatter binaryFormatter = new BinaryFormatter(); using (Stream stream = File.OpenRead("object1.bin")) { object1 = (SomeClass)binaryFormatter.Deserialize(stream); }
XML-Deserialisierung:
XmlSerializer serializer = new XmlSerializer(typeof(SomeClass)); using (TextReader reader = new StreamReader("object1.xml")) { object1 = (SomeClass)serializer.Deserialize(reader); }
JSON-Deserialisierung (JsonDeserialization):
using (StreamReader reader = new StreamReader("object1.json")) { object1 = JsonConvert.DeserializeObject<SomeClass>(reader.ReadToEnd()); }
Das obige ist der detaillierte Inhalt vonWie serialisiere und deserialisiere ich Objekte in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!