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

Bagaimana untuk Mensiri dan Menyahseri Objek dalam C#?

DDD
Lepaskan: 2025-01-23 11:42:11
asal
237 orang telah melayarinya

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>
Salin selepas log masuk

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>
    Salin selepas log masuk
  • Siri XML:

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

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

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>
    Salin selepas log masuk
  • 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>
    Salin selepas log masuk
  • Deserialisasi JSON (JsonDeserialization):

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

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan