Heim >Backend-Entwicklung >C++ >Wie serialisiere und deserialisiere ich Objekte in C#?

Wie serialisiere und deserialisiere ich Objekte in C#?

DDD
DDDOriginal
2025-01-23 11:42:11247Durchsuche

How to Serialize and Deserialize Objects 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn