Menyimpan dan memulihkan objek C#: bersiri dan penyahserikatan
Serialization menyimpan data dalam format mudah alih, menjadikannya lebih mudah untuk memindahkan objek antara aplikasi, sistem atau mesin yang berbeza.
Untuk menyerikan objek, anda mesti menggunakan tag atribut [Serializable]
dan sertakan pembina tanpa parameter. Selain itu, atribut [XmlIgnore]
dan [JsonIgnore]
boleh digunakan untuk mengecualikan atribut atau medan tertentu.
Contoh
Pertimbangkan yang berikut SomeClass
:
[Serializable] public class SomeClass { public string someProperty { get; set; } } SomeClass object1 = new SomeClass { someProperty = "someString" };
Simpan ke fail
Siri Perduaan:
BinaryFormatter binaryFormatter = new BinaryFormatter(); using (Stream stream = File.Create("object1.bin")) { binaryFormatter.Serialize(stream, object1); }
Siri XML:
XmlSerializer serializer = new XmlSerializer(typeof(SomeClass)); using (TextWriter writer = new StreamWriter("object1.xml")) { serializer.Serialize(writer, object1); }
JSONSerialization:
using (StreamWriter writer = new StreamWriter("object1.json")) { writer.Write(JsonConvert.SerializeObject(object1)); }
Pulihkan daripada Fail
Penyahserikatan Perduaan:
BinaryFormatter binaryFormatter = new BinaryFormatter(); using (Stream stream = File.OpenRead("object1.bin")) { object1 = (SomeClass)binaryFormatter.Deserialize(stream); }
Penyahserikatan XML:
XmlSerializer serializer = new XmlSerializer(typeof(SomeClass)); using (TextReader reader = new StreamReader("object1.xml")) { object1 = (SomeClass)serializer.Deserialize(reader); }
Deserialisasi JSON (JsonDeserialization):
using (StreamReader reader = new StreamReader("object1.json")) { object1 = JsonConvert.DeserializeObject<SomeClass>(reader.ReadToEnd()); }
Atas ialah kandungan terperinci Bagaimana untuk Mensiri dan Menyahseri Objek dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!