Maison >développement back-end >C++ >Comment sérialiser et désérialiser des objets en 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
:
<code class="language-csharp">[Serializable] public class SomeClass { public string someProperty { get; set; } } SomeClass object1 = new SomeClass { someProperty = "someString" };</code>
Enregistrer dans un fichier
Sérialisation binaire :
<code class="language-csharp"> BinaryFormatter binaryFormatter = new BinaryFormatter(); using (Stream stream = File.Create("object1.bin")) { binaryFormatter.Serialize(stream, object1); }</code>
Sérialisation XML :
<code class="language-csharp"> XmlSerializer serializer = new XmlSerializer(typeof(SomeClass)); using (TextWriter writer = new StreamWriter("object1.xml")) { serializer.Serialize(writer, object1); }</code>
JSONSérialisation :
<code class="language-csharp"> using (StreamWriter writer = new StreamWriter("object1.json")) { writer.Write(JsonConvert.SerializeObject(object1)); }</code>
Récupérer à partir de fichiers
Désérialisation binaire :
<code class="language-csharp"> BinaryFormatter binaryFormatter = new BinaryFormatter(); using (Stream stream = File.OpenRead("object1.bin")) { object1 = (SomeClass)binaryFormatter.Deserialize(stream); }</code>
Désérialisation XML :
<code class="language-csharp"> XmlSerializer serializer = new XmlSerializer(typeof(SomeClass)); using (TextReader reader = new StreamReader("object1.xml")) { object1 = (SomeClass)serializer.Deserialize(reader); }</code>
Désérialisation JSON (JsonDesérialisation) :
<code class="language-csharp"> using (StreamReader reader = new StreamReader("object1.json")) { object1 = JsonConvert.DeserializeObject<SomeClass>(reader.ReadToEnd()); }</code>
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!