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

Wie serialisiere und deserialisiere ich Objekte in C#?

DDD
Freigeben: 2025-01-23 11:42:11
Original
287 Leute haben es durchsucht

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>
Nach dem Login kopieren

In Datei speichern

  • BinarySerialization:

    <code class="language-csharp">  BinaryFormatter binaryFormatter = new BinaryFormatter();
    
      using (Stream stream = File.Create("object1.bin"))
      {
          binaryFormatter.Serialize(stream, object1);
      }</code>
    Nach dem Login kopieren
  • XML-Serialisierung:

    <code class="language-csharp">  XmlSerializer serializer = new XmlSerializer(typeof(SomeClass));
    
      using (TextWriter writer = new StreamWriter("object1.xml"))
      {
          serializer.Serialize(writer, object1);
      }</code>
    Nach dem Login kopieren
  • JSONSerialisierung:

    <code class="language-csharp">  using (StreamWriter writer = new StreamWriter("object1.json"))
      {
          writer.Write(JsonConvert.SerializeObject(object1));
      }</code>
    Nach dem Login kopieren

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>
    Nach dem Login kopieren
  • 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>
    Nach dem Login kopieren
  • JSON-Deserialisierung (JsonDeserialization):

    <code class="language-csharp">  using (StreamReader reader = new StreamReader("object1.json"))
      {
          object1 = JsonConvert.DeserializeObject<SomeClass>(reader.ReadToEnd());
      }</code>
    Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage