Serialisasi dan Deserialisasi dalam C# dengan Contoh

Serialisasi & Deserialisasi di C#

Konsep Serialisasi dan deserialisasi digunakan setiap kali data yang berkaitan dengan objek harus dikirim dari satu aplikasi ke aplikasi lainnya. Serialisasi digunakan untuk mengekspor data aplikasi ke dalam file. Aplikasi tujuan kemudian menggunakan deserialisasi untuk mengekstrak data dari aplikasi untuk digunakan lebih lanjut.

Serialisasi adalah konsep di mana objek kelas C# ditulis atau diserialkan ke file. Katakanlah Anda memiliki kelas C# yang disebut Tutorial. Dan kelas tersebut memiliki 2 properti ID dan nama Tutorial.

Serialisasi dapat digunakan untuk langsung menulis properti data kelas Tutorial ke sebuah file. Deserialisasi digunakan untuk membaca data dari file dan membuat objek Tutorial lagi.

Cara Membuat Serialisasi Objek di C#

Mari kita lihat contoh bagaimana kita dapat mencapai hal ini.

Dalam contoh kita, kita akan melakukan langkah-langkah tingkat tinggi di bawah ini dalam kode

  1. Buat kelas bernama Tutorial yang memiliki 2 properti yaitu ID, dan Nama
  2. Kami kemudian akan membuat objek dari kelas dan memberikan nilai “1” pada properti ID dan nilai “.Net” pada properti nama.
  3. Kami kemudian akan menggunakan serialisasi untuk membuat serialisasi objek di atas ke file bernama Contoh.txt
  4. Terakhir, kita akan menggunakan deserialisasi untuk membatalkan serialisasi objek dari file dan menampilkan nilainya di Konsol.


Masukkan kode di bawah ini di file program.cs aplikasi konsol.

Langkah 1) Tambahkan kelas.

Langkah pertama adalah menambahkan kelas yang akan digunakan untuk serialisasi

Membuat serial Objek di C#

Penjelasan Kode: -

  1. Kelas yang perlu diserialkan harus memiliki atribut [Serializable]. Ini adalah kata kunci dalam C#. Kata kunci inilah yang kemudian ditempelkan pada kelas Tutorial. Jika Anda tidak menyebutkan atribut ini, Anda akan mendapatkan kesalahan saat mencoba membuat serial kelas.
  2. Berikutnya adalah definisi kelas yang akan diserialkan. Di sini kita mendefinisikan kelas yang disebut “Tutorial” dan menyediakan 2 properti, satu adalah “ID” dan yang lainnya adalah “Nama.”

Langkah 2) Buat objeknya.

Pada langkah ini, pertama-tama kita akan membuat objek kelas Tutorial dan membuat serialisasinya ke file bernama Contoh.txt

Membuat serial Objek di C#

Penjelasan Kode: -

  1. Pertama, kita membuat objek kelas Tutorial. Kami kemudian menetapkan nilai “1” ke ID dan “.net” ke properti nama.
  2. Kami kemudian menggunakan kelas formatter yang digunakan untuk membuat serialisasi atau mengonversi objek ke format biner. Data dalam file dalam serialisasi dilakukan dalam format biner. Selanjutnya, kita membuat objek aliran file. Objek aliran file digunakan untuk membuka file Contoh.txt untuk tujuan penulisan. Kata kunci FileMode.Create dan FileMode.Write digunakan untuk secara khusus menyebutkan bahwa file harus dibuka untuk tujuan penulisan.
  3. Terakhir, kami menggunakan metode Serialize untuk mentransfer data biner ke file. Kami kemudian menutup aliran, sejak menulis operasi selesai.

Langkah 3) Gunakan deserialisasi.

Terakhir, untuk memastikan bahwa data ada dalam file, kami menggunakan deserialisasi untuk melakukan deserialisasi objek dari file.

Membuat serial Objek di C#

using System;
using System.IO;
using System.Linq;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
  [Serializable]
  class Tutorial
  {
  public int ID;
  public String Name;
   static void Main(string[] args)
   {
    Tutorial obj = new Tutorial();
    obj.ID = 1;
    obj.Name = ".Net";

    IFormatter formatter = new BinaryFormatter();
    Stream stream = new FileStream(@"E:\ExampleNew.txt",FileMode.Create,FileAccess.Write);

    formatter.Serialize(stream, obj);
    stream.Close();

    stream = new FileStream(@"E:\ExampleNew.txt",FileMode.Open,FileAccess.Read);
    Tutorial objnew = (Tutorial)formatter.Deserialize(stream);

    Console.WriteLine(objnew.ID);
    Console.WriteLine(objnew.Name);

    Console.ReadKey();
  }
 }
}

Penjelasan Kode: -

  1. Kami membuat objek “aliran” untuk membuka file Contoh.txt dalam mode hanya baca.
  2. Kami kemudian menggunakan kelas formatter yang digunakan untuk membatalkan serialisasi objek, yang disimpan dalam file Contoh.txt. Objek yang dikembalikan disetel ke objek objnew.
  3. Terakhir, kami menampilkan properti objek “objnew” ke konsol menggunakan properti “ID” dan “name”.

Ketika kode di atas disetel, dan proyek dijalankan menggunakan Visual Studio, Anda akan mendapatkan output di bawah ini.

Keluaran:-

Membuat serial Objek di C#

Anda dapat melihat dari keluaran di atas bahwa nilai dari file telah dideserialisasi dengan benar dan ditampilkan di konsol.

Kesimpulan

Serialisasi digunakan untuk menulis objek kelas ke file.

De-Serialization digunakan untuk memulihkan objek dari file.