Heim >Backend-Entwicklung >C++ >Wie serialisiere und deserialisiere ich Objekte in C#?
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
:
<code class="language-csharp">[Serializable] public class SomeClass { public string someProperty { get; set; } } SomeClass object1 = new SomeClass { someProperty = "someString" };</code>
In Datei speichern
BinarySerialization:
<code class="language-csharp"> BinaryFormatter binaryFormatter = new BinaryFormatter(); using (Stream stream = File.Create("object1.bin")) { binaryFormatter.Serialize(stream, object1); }</code>
XML-Serialisierung:
<code class="language-csharp"> XmlSerializer serializer = new XmlSerializer(typeof(SomeClass)); using (TextWriter writer = new StreamWriter("object1.xml")) { serializer.Serialize(writer, object1); }</code>
JSONSerialisierung:
<code class="language-csharp"> using (StreamWriter writer = new StreamWriter("object1.json")) { writer.Write(JsonConvert.SerializeObject(object1)); }</code>
Aus Dateien wiederherstellen
BinaryDeserialization:
<code class="language-csharp"> BinaryFormatter binaryFormatter = new BinaryFormatter(); using (Stream stream = File.OpenRead("object1.bin")) { object1 = (SomeClass)binaryFormatter.Deserialize(stream); }</code>
XML-Deserialisierung:
<code class="language-csharp"> XmlSerializer serializer = new XmlSerializer(typeof(SomeClass)); using (TextReader reader = new StreamReader("object1.xml")) { object1 = (SomeClass)serializer.Deserialize(reader); }</code>
JSON-Deserialisierung (JsonDeserialization):
<code class="language-csharp"> using (StreamReader reader = new StreamReader("object1.json")) { object1 = JsonConvert.DeserializeObject<SomeClass>(reader.ReadToEnd()); }</code>
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!