Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

Serialisasi & Deserialisasi C#: Contoh Praktis

Serialisasi & Deserialisasi dalam C#

Serialisasi dan deserialisasi penting saat data objek harus berpindah antar aplikasi atau bertahan di seluruh sesi. Dalam C#, serialisasi menulis status objek ke medium penyimpanan—umumnya file—sedangkan deserialisasi merekonstruksi objek dari representasi yang tersimpan.

Pertimbangkan kelas sederhana, Tutorial, yang memiliki dua properti: ID dan Name. Dengan menserialisasi instance dari kelas ini ke file, kita kemudian dapat membaca file dan merekonstruksi objek yang sama dengan data aslinya utuh.

Cara Menserialisasi Objek dalam C#

Di bawah ini adalah panduan langkah demi langkah yang menunjukkan proses dalam aplikasi konsol.

  1. Buat kelas Tutorial dengan properti ID dan Name.
  2. Buat instance kelas, tetapkan ID = 1 dan Name = ".Net".
  3. Serialisasi objek ke file bernama Example.txt.
  4. Deserialisasi objek dari file dan tampilkan nilainya di konsol.

Tempel kode berikut ke dalam file Program.cs Anda.

Langkah 1) Tambahkan kelas. Langkah pertama adalah menambahkan kelas yang akan diserialisasi.

Serialisasi & Deserialisasi C#: Contoh Praktis

Penjelasan Kode:

  1. Kelas harus ditandai dengan atribut [Serializable]; jika tidak, serialisasi akan gagal.
  2. Definisikan kelas Tutorial dengan dua field: int ID dan string Name.

Langkah 2) Buat objek dan serialisasinya. Dalam langkah ini, kita membuat instance objek Tutorial dan menulisnya ke Example.txt.

Serialisasi & Deserialisasi C#: Contoh Praktis

Penjelasan Kode:

  1. Buat instance dari Tutorial dan tetapkan ID = 1 dan Name = ".Net".
  2. Buat instance BinaryFormatter (catatan: BinaryFormatter usang di .NET 5+; pertimbangkan System.Text.Json atau XmlSerializer untuk kode produksi).
  3. Buka FileStream dalam mode FileMode.Create dan FileAccess.Write untuk menulis data biner.
  4. Panggil formatter.Serialize untuk menulis objek ke aliran, lalu tutup aliran.

Langkah 3) Deserialisasi objek. Terakhir, baca data kembali dari file untuk memverifikasi proses.

Serialisasi & Deserialisasi C#: Contoh Praktis

using System; using System.IO; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; 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. Buka file dalam mode baca.
  2. Deserialisasi data biner kembali ke instance Tutorial.
  3. Cetak ID dan Name ke konsol.

Menjalankan program di Visual Studio menghasilkan output berikut:

Output:

Serialisasi & Deserialisasi C#: Contoh Praktis

Seperti yang ditunjukkan, nilai berhasil diambil dari file.

Ringkasan

Serialisasi menulis data objek ke file, sedangkan deserialisasi membaca data tersebut kembali ke dalam objek. Teknik dasar ini mendasari banyak skenario pertukaran data .NET.

Bahasa C

  1. Kelas dan Objek C#: Fondasi untuk OOP yang Kuat
  2. Menguasai Kelas dan Metode Abstrak C#: Panduan Praktis
  3. Memahami Kelas dan Metode Parsial C#
  4. Menguasai Kelas dan Metode Tersegel di C#—Kapan Menggunakannya, Contoh Jelas, dan Tingkatkan Keamanan serta Performa Kode
  5. Pengoperasian File Java dengan java.io – Pembuatan, Pembacaan, Penulisan & Penghapusan
  6. Operator C++ Dijelaskan: Tipe, Contoh, dan Program Contoh
  7. Struktur vs Kelas C++: Perbedaan Utama, Sintaks, dan Kasus Penggunaan Terbaik
  8. Kelas Abstrak C#: Tutorial Praktis dengan Contoh Kode
  9. Membaca File di Java dengan BufferedReader – Panduan Praktis dengan Contoh
  10. Memahami type() dan isinstance() dalam Python: Contoh Praktis