In C# zijn de twee belangrijkste typecategorieën waardetypen (zoals structuren) en referentietypen (zoals klassen). Omdat een structuur (of struct) een waardetype is, is deze datacentrisch.

Een struct kan attributen en gerelateerde methoden opslaan die bij voorkeur niet gericht zijn op gedrag.

Hoe een structuur te declareren?

Elke structuurdeclaratie moet de hebben structureren trefwoord. Laat het struct-sleutelwoord voorafgaan door een toegangsmodifier en plaats er een naam en een paar accolades achter. Hier leest u hoe u een struct met de naam Game declareert:

openbaar struct Spel {}

Hoe een structuur te vullen

Een struct slaat gegevens op binnen zijn accolades, in de vorm van attributen, constructors, methoden, gebeurtenissen, enz.

openbaar struct spel
{
openbaar tekenreeksnaam;
openbaar tekenreeksbeschrijving;
openbaarint niveaus;

openbaarSpel(stringnaam, stringbeschrijving, int niveaus){
deze.naam = naam;
deze.beschrijving = beschrijving;
deze.niveaus = niveaus;
}

openbare overschrijftekenreeks ToString() => $"Naam: {name}, Beschrijving: {description}, Niveaus: {levels}";
}

instagram viewer

De Game-struct heeft nu drie attributen, een constructor en een methode. Dit zijn drie primaire componenten van een C#-struct, die ook drie van de primaire componenten van a zijn C# klasse.

Een structuurvariabele maken

Elke instantie van een C#-struct staat bekend als a variabele. Er zijn twee manieren om een variabele uit een structuur. U kunt een constructor gebruiken:

Spel spel1 = nieuw spel("Pokéma ga", "Lorem ipsum dolor sit amet.", 50);

Of u kunt waarden toewijzen aan individuele attributen van een struct met behulp van de punt (.) operator:

Spel spel1;
game1.name = "Pokéma ga";
game1.description = "Lorem ipsum dolor sit amet.";
spel1.niveaus = 50;

Beide benaderingen bereiken hetzelfde resultaat. De bovenstaande code gebruikt C# om een ​​game-object genaamd Pokémon GO te ontwikkelen met een korte beschrijving en 50 niveaus. U kunt nu dus het object game1 gebruiken.

Troosten.Schrijf lijn(spel1.ToString());

Hiermee wordt de volgende uitvoer naar de console afgedrukt:

Naam: Pokémon GO, Beschrijving: Lorem ipsum dolor sit amet., Niveaus: 50

De verschillen tussen een structuur en een klasse

Een struct en een klasse hebben een gelijkaardig uiterlijk, maar ze hebben veel opmerkelijke verschillen. Ze gebruiken verschillende trefwoorden voor aangifte. En structs ondersteunen geen null-referenties of overerving.