I C# er de to hovedtypekategoriene verdityper (som strukturer) og referansetyper (som klasser). Fordi en struktur (eller struktur) er en verditype, er den datasentrisk.
En struct kan lagre attributter og relaterte metoder som helst ikke fokuserer på atferd.
Hvordan erklære en struktur
Hver struct-erklæring må ha struktur nøkkelord. Foran struct-nøkkelordet med en tilgangsmodifikator og ta med et navn og et par krøllete klammeparenteser etter det. Slik erklærer du en struktur kalt Game:
offentlig struct spill {}
Hvordan fylle en struktur
En struktur lagrer data innenfor sine krøllete klammeparenteser, i form av attributter, konstruktører, metoder, hendelser, etc.
offentlig struct spill
{
offentlig strengnavn;
offentlig strengbeskrivelse;
offentligint nivåer;offentligSpill(strengnavn, strengbeskrivelse, int nivåer){
dette.navn = navn;
dette.description = beskrivelse;
dette.nivåer = nivåer;
}
offentlig overstyringsstreng ToString() => $"Navn: {name}, Beskrivelse: {description}, Nivåer: {levels}";
}
Spillstrukturen har nå tre attributter, en konstruktør og en metode. Dette er tre primærkomponenter i en C#-struktur, som også er tre av primærkomponentene i en
C#-klassen.Hvordan lage en strukturvariabel
Hver forekomst av en C#-struktur er kjent som en variabel. Det er to måter å lage en variabel fra en konstruksjon. Du kan bruke en konstruktør:
Spill spill1 = nytt spill("Pokéman GO", "Lorem ipsum dolor sit amet.", 50);
Eller du kan tilordne verdier til individuelle attributter for en struktur ved å bruke prikken (.)-operatoren:
Spill spill1;
spill1.navn = "Pokéman GO";
game1.description = "Lorem ipsum dolor sit amet.";
game1.levels = 50;
Begge tilnærmingene oppnår samme resultat. Koden ovenfor bruker C# til å utvikle et spillobjekt kalt Pokémon GO som har en kort beskrivelse og 50 nivåer. Så nå kan du bruke game1-objektet.
Konsoll.WriteLine(spill1.ToString());
Dette skriver ut følgende utdata til konsollen:
Navn: Pokémon GO, Beskrivelse: Lorem ipsum dolor sit amet., Nivåer: 50
Forskjellene mellom en struktur og en klasse
En struktur og en klasse har et lignende utseende, men de har mange bemerkelsesverdige forskjeller. De bruker forskjellige nøkkelord for erklæring. Og strukturer støtter verken nullreferanser eller arv.