Introduksjon til registreringstyper i C# med eksempler

Introduksjon til registreringstyper i C# med eksempler
Registreringstyper er en ny funksjon introdusert i C# 9 som gir en forenklet syntaks for å lage klasser som først og fremst brukes til å lagre data. En platetype er en klasse som definerer et sett med egenskaper for å holde data, men inkluderer også andre funksjoner som likestillingssammenligning, hashing og mer. Denne artikkelen vil introdusere konseptet med platetyper i C# og utforske fordelene og begrensningene deres.

Hva er behovet for platetype

En av de viktigste fordelene ved å bruke platetyper er at de gir en mer kortfattet syntaks for å definere klasser som bare har data. Dette gjør koden lettere å lese og forstå, samtidig som den reduserer kodemengden som må skrives. I tillegg er platetyper designet for å være uforanderlige som standard, noe som hjelper til med å forhindre feil forårsaket av mutbar tilstand.

En annen fordel med å bruke platetyper er at de kommer med innebygd støtte for likestillingssammenligninger, hasjkoder og strengrepresentasjoner.

Introduksjon til registreringstyper i C#

Registreringstyper i C# gir en kortfattet måte å definere typer for små, uforanderlige datastrukturer. Når du oppretter en ny post, kan du passere verdier for egenskapene i konstruktøren, og deretter få tilgang til disse verdiene ved å bruke egenskapssyntaks. De brukes til å forenkle opprettelsen og bruken av objekter som har en veldefinert struktur og ikke trenger å endres etter opprettelsen.

Offentlig post ();

Det offentlige nøkkelordet gjør rekordtypen tilgjengelig for andre klasser i programmet. Registreringsnøkkelordet definerer objektets type, etterfulgt av navnet på posttypen. Parameterlisten definerer egenskapene til posttypen. Her er et eksempel som er gjort der jeg har lagret selskapsdetaljer som liker navn, avdeling og kategori, nedenfor er koden for det:

ved hjelp av system;
// Definer en post kalt CompanyDetails med tre strengegenskaper: Navn, avdeling og kategori
Record CompanyDetails (String Name, String Department, String Category);
Klasseprogram

statisk tomrom (streng [] args)

// Opprett en ny forekomst av CompanyDetails -posten og passere i eiendomsverdiene
CompanyDetails Company = New CompanyDetails ("Linux Hint", "Content Writing", "Linux");
// Skriv ut firmanavn, avdeling og kategori
Konsoll.WritLine ($ "firmanavn: Company.Navn");
Konsoll.WritLine ($ "Department: Company.Avdeling");
Konsoll.WritLine ($ "Kategori: Company.Kategori");

I dette programmet lager vi en post som heter CompanyDetails som har tre egenskaper: navn, avdeling og kategori, som hver er en streng. Vi oppretter deretter en ny forekomst av CompanyDetails kalt Company, og passerer i verdier for hver av eiendommene. Konsollen.Uttalelser om Writeline sender deretter ut verdiene til navn, avdeling og kategoriegenskaper til selskapets objekt, her er utdataene fra koden:

Du kan også definere flere platetyper i C#, og hver posttype kan ha sitt eget unike sett med egenskaper. For eksempel kan du definere en posttype for ansatt og annen for selskapets detaljer, og her er koden for det:

ved hjelp av system;
// Definere en post for å lagre detaljer om et selskap
Record CompanyDetails (String Name, String Department, String Category);
// Definere en post for å lagre detaljer om en ansatt
Record Employedetails (String Name, Int EmployeeId, Int Age);
Klasseprogram

statisk tomrom (streng [] args)

// Opprette en forekomst av CompanyDetails -posten og initialisere verdiene
var companyDetails = new CompanyDetails ("Linux Hint", "Content Writing", "Linux");
// Skrive ut verdiene til CompanyDetails -posten ved hjelp av streng interpolasjon
Konsoll.WritLine ($ "firmanavn: CompanyDetails.Navn");
Konsoll.WritLine ($ "Department: CompanyDetails.Avdeling");
Konsoll.WritLine ($ "Kategori: CompanyDetails.Kategori");
// Opprette en forekomst av Employedetails -posten og initialisere verdiene
VaR EmployeTeTails = NYTT EMELIGEDEALS ("Mark", 7834, 25);
// Skrive ut verdiene til Employedetails -posten ved hjelp av streng interpolasjon
Konsoll.WritLine ($ "ansattes navn: EmployeTeTails.Navn");
Konsoll.WritLine ($ "Employee ID: EmployeTeTails.Ansatt ID");
Konsoll.WritLine ($ "Employee Age: Employedetails.Alder");

Først definerer vi et rekordtypeselskaper med tre eiendommer: CompanyName, Department og kategori. Vi oppretter deretter en ny forekomst av CompanyDetails -posten og initialiserer dens egenskaper med verdiene “Linux Hint”, “Content Writing” og “Linux”.

Deretter definerer vi en annen ansatte på rekordtype med tre egenskaper: navn, ansatt og alder. Vi oppretter deretter en ny forekomst av Employedetails -posten og initialiserer dens egenskaper med verdiene “Mark”, 7834 og 25. Endelig bruker vi konsoll.Skriftens uttalelser for å sende ut verdiene til egenskapene til både CompanyDetails og EmployeTeTails Records, her er utdataene til koden:

Konklusjon

Registreringstypene er en ny funksjon som ble introdusert i C# 9 som gir en forenklet syntaks for å lage klasser som lagrer data. De gir flere fordeler, inkludert en kortfattet syntaks, automatisk likhetssammenligning, hashing, utskrift og enkel oppretting av uforanderlige gjenstander.

Imidlertid har de også noen begrensninger, for eksempel manglende evne til å arve fra andre klasser og begrenset funksjonalitet for kompleks logikk. Totalt sett er platetyper et nyttig verktøy for C# -utviklere og kan forbedre lesbarheten og vedlikeholdbarheten til koden.