Maison > développement back-end > C++ > Comment sérialiser et désérialiser des objets en C# ?

Comment sérialiser et désérialiser des objets en C# ?

DDD
Libérer: 2025-01-23 11:42:11
original
307 Les gens l'ont consulté

How to Serialize and Deserialize Objects in C#?

Sauvegarde et restauration des objets C# : sérialisation et désérialisation

La sérialisation stocke les données dans un format portable, ce qui facilite le transfert d'objets entre différentes applications, systèmes ou machines.

Pour sérialiser un objet, vous devez utiliser la balise d'attribut [Serializable] et inclure un constructeur sans paramètre. De plus, les attributs [XmlIgnore] et [JsonIgnore] peuvent être utilisés pour exclure des attributs ou des champs spécifiques.

Exemple

Considérez ce qui suit SomeClass :

[Serializable]
public class SomeClass
{
    public string someProperty { get; set; }
}

SomeClass object1 = new SomeClass { someProperty = "someString" };
Copier après la connexion

Enregistrer dans un fichier

  • Sérialisation binaire :

      BinaryFormatter binaryFormatter = new BinaryFormatter();
    
      using (Stream stream = File.Create("object1.bin"))
      {
          binaryFormatter.Serialize(stream, object1);
      }
    Copier après la connexion
  • Sérialisation XML :

      XmlSerializer serializer = new XmlSerializer(typeof(SomeClass));
    
      using (TextWriter writer = new StreamWriter("object1.xml"))
      {
          serializer.Serialize(writer, object1);
      }
    Copier après la connexion
  • JSONSérialisation :

      using (StreamWriter writer = new StreamWriter("object1.json"))
      {
          writer.Write(JsonConvert.SerializeObject(object1));
      }
    Copier après la connexion

Récupérer à partir de fichiers

  • Désérialisation binaire :

      BinaryFormatter binaryFormatter = new BinaryFormatter();
    
      using (Stream stream = File.OpenRead("object1.bin"))
      {
          object1 = (SomeClass)binaryFormatter.Deserialize(stream);
      }
    Copier après la connexion
  • Désérialisation XML :

      XmlSerializer serializer = new XmlSerializer(typeof(SomeClass));
    
      using (TextReader reader = new StreamReader("object1.xml"))
      {
          object1 = (SomeClass)serializer.Deserialize(reader);
      }
    Copier après la connexion
  • Désérialisation JSON (JsonDesérialisation) :

      using (StreamReader reader = new StreamReader("object1.json"))
      {
          object1 = JsonConvert.DeserializeObject<SomeClass>(reader.ReadToEnd());
      }
    Copier après la connexion

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal