Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mensiri dan Menyahseri Objek dalam C#?

Bagaimana untuk Mensiri dan Menyahseri Objek dalam C#?

DDD
DDDasal
2025-01-23 11:42:11247semak imbas

How to Serialize and Deserialize Objects in C#?

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:

<code class="language-csharp">[Serializable]
public class SomeClass
{
    public string someProperty { get; set; }
}

SomeClass object1 = new SomeClass { someProperty = "someString" };</code>

Simpan ke fail

  • Siri Perduaan:

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

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

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

Pulihkan daripada Fail

  • Penyahserikatan Perduaan:

    <code class="language-csharp">  BinaryFormatter binaryFormatter = new BinaryFormatter();
    
      using (Stream stream = File.OpenRead("object1.bin"))
      {
          object1 = (SomeClass)binaryFormatter.Deserialize(stream);
      }</code>
  • Penyahserikatan XML:

    <code class="language-csharp">  XmlSerializer serializer = new XmlSerializer(typeof(SomeClass));
    
      using (TextReader reader = new StreamReader("object1.xml"))
      {
          object1 = (SomeClass)serializer.Deserialize(reader);
      }</code>
  • Deserialisasi JSON (JsonDeserialization):

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

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn