Denne artikkelen vil forklare Serialisering og deserialisering I C# med et eksempel.
Serialisering i C#
For å konvertere et objekt til et format som kan lagres eller overføres over en nettverksserialisering, brukes dette formatet et XML -format, binært format eller noe annet format. Serialisering brukes til datalagring og overføring, og det er et viktig konsept innen C# -programmering.
La oss ta et eksempel for å forstå serialisering i C#, anta at vi har en "Ansatt" Klasse som inneholder ansattes navn, ID og lønn:
ved hjelp av system;Ovennevnte C# -kode viser hvordan man serialiserer et objekt i en tilpasset klasse som er navngitt "Ansatt" bruker DataContractSerializer klasse fra System.Runtime.Serialisering navneområde. Klassen har tre egenskaper: navn, id og lønn, som alle er merket med Datamember attributt for å indikere at de skal inkluderes i serialiseringsprosessen.
I hovedsak en tilfelle av Ansatt Klassen opprettes, og dens egenskaper er satt med prøvedata og DataContractSerializer blir deretter brukt til å serialisere objektet til en byte -matrise, som lagres i en fil ved hjelp av en filestream. Banen til filen er spesifisert ved hjelp av Sti.Kombinere og Miljø.CurrentDirectory () Funksjoner og deretter vises de serialiserte dataene i konsollen sammen med filstien:
Deserialisering i C#
Deserialisering er prosessen med å konvertere serialiserte data, vanligvis lagret i en fil, eller overført over et nettverk, tilbake til sin opprinnelige form. I C#, prosessen med deserialisering innebærer å lage et objekt fra den serialiserte formen, som kan oppnås ved bruk av forskjellige innebygde klasser som DataContractSerializer eller XMLSerializer.
La oss ta et eksempel for å forstå deserialisering i C# og bruke den samme serialiserte filen vi opprettet tidligere og deserialisere den, nedenfor er koden for den:
ved hjelp av system;Ovennevnte C# -kode bruker DataContractSerializer Klasse for å deserialisere et 'ansattes' objekt som tidligere har blitt serialisert og lagret i en binær fil. Ansattsklassen er definert med Datamember attributter på dens egenskaper for å indikere at disse skal serialiseres/deserialiseres. Hovedet oppretter en forekomst av serialisatoren og åpner den binære filen ved hjelp av en filestream og serialisatorens ReadObject () -funksjon blir deretter brukt til å lese de serialiserte dataene og opprette et nytt ansattobjekt. Ansattsobjektet skrives deretter ut til konsollen for å bekrefte at det har blitt deserialisert med hell.
Siste tanker
I C# programmering, Serialisering og deserialisering er viktige konsepter som brukes til datalagring og overføring. Serialisering innebærer å transformere et objekt til et format som er egnet for lagring eller overføring, mens deserialisering innebærer den omvendte prosessen med å konvertere de serialiserte dataene tilbake til sin opprinnelige form. I det medfølgende kodeeksemplet, DataContractSerializer Klasse brukes til å serialisere en forekomst av ansattklassen til en byte -matrise, som deretter lagres i en fil. De deserialisering Prosess innebærer å lese de serialiserte dataene fra filen og bruke den samme serialisatoren for å deserialisere dem tilbake til en forekomst av ansattklassen.