C# Serialisatie & Deserialisatie: Een Praktisch Voorbeeld
Serialisatie & Deserialisatie in C#
Serialisatie en deserialisatie zijn essentieel wanneer objectdata tussen applicaties moet bewegen of over sessies moet persisteren. In C# schrijft serialisatie de staat van een object naar een opslagmedium – meestal een bestand – terwijl deserialisatie het object herstelt vanuit die opgeslagen representatie.
Overweeg een simpele class, Tutorial, die twee properties bevat: ID en Name. Door een instantie van deze class te serialiseren naar een bestand, kunnen we later het bestand lezen en hetzelfde object met de oorspronkelijke data intact hercreëren.
Hoe Een Object Te Serialiseren in C#
Hieronder is een stapsgewijze walkthrough die het proces demonstreert in een console-applicatie.
- Maak een
Tutorial-class met deID- enName-properties. - Instantieer de class, wijzig
ID = 1enName = ".Net". - Serialiseer het object naar een bestand genaamd
Example.txt. - Deserialiseer het object uit het bestand en toon de waarden op de console.
Plak de volgende code in je Program.cs bestand.
Stap 1) Voeg de class toe. De eerste stap is de class toe te voegen die geserialiseerd wordt.

Code Uitleg:
- De class moet gemarkeerd zijn met het
[Serializable]attribuut; anders zal serialisatie falen. - Definieer de
Tutorial-class met twee velden:int IDenstring Name.
Stap 2) Creëer het object en serialiseer het. In deze stap instantieren we het Tutorial-object en schrijven het naar Example.txt.

Code Uitleg:
- Maak een instantie van
Tutorialen stelID = 1enName = ".Net"in. - Instantieer een
BinaryFormatter(let op:BinaryFormatteris verouderd in .NET 5+; overweegSystem.Text.JsonofXmlSerializervoor productiecode). - Open een
FileStreaminFileMode.CreateenFileAccess.Writeom de binaire data te schrijven. - Roep
formatter.Serializeaan om het object naar de stream te schrijven, sluit daarna de stream.
Stap 3) Deserialiseer het object. Ten slotte lezen we de data terug uit het bestand om het proces te verifiëren.

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();
}
}
}
Code Uitleg:
- Open het bestand in leesmodus.
- Deserialiseer de binaire data terug naar een
Tutorial-instantie. - Print de
IDenNamenaar de console.
Het draaien van het programma in Visual Studio produceert de volgende uitvoer:
Uitvoer:

Zoals getoond, werden de waarden correct uit het bestand opgehaald.
Samenvatting
Serialisatie schrijft objectdata naar een bestand, terwijl deserialisatie die data terugleest in een object. Deze fundamentele techniek ligt aan de basis van veel .NET data-uitwisselingscenario's.
C Taal
- C# Classes & Objects: Fundamenten voor Robuuste OOP
- C# Abstract Classes & Methods: Een Praktische Gids
- C# Partial Classes en Methods: Een Praktische Gids
- C# Sealed Classes en Methods: Wanneer en Hoe Te Gebruiken
- C++ Operators Uitgelegd: Typen, Voorbeelden en Voorbeeldprogramma's
- C++ Classes & Objects: Praktische Handleiding met Code‑Voorbeelden
- C++ Struct vs Class: Belangrijkste Verschillen, Syntaxis en Beste Gebruikssituaties
- C# Abstracte Classes: Een Praktische Tutorial met Codevoorbeelden
- type() en isinstance() in Python begrijpen: praktische voorbeelden
- Java-bestandsbewerkingen onder de knie krijgen met java.io – Aanmaken, lezen, schrijven en verwijderen
- Bestanden Lezen in Java met BufferedReader – Een Praktische Gids met Voorbeelden