A C#-ban a két fő típuskategória az értéktípusok (például struktúrák) és a referenciatípusok (például osztályok). Mivel a struktúra (vagy struktúra) értéktípus, adatközpontú.
A struktúra olyan attribútumokat és kapcsolódó metódusokat tárolhat, amelyek lehetőleg nem a viselkedésre összpontosítanak.
Hogyan deklaráljunk szerkezetet
Minden struct deklarációnak rendelkeznie kell a struct kulcsszó. A struct kulcsszó elé írjon egy hozzáférés-módosítót, és írjon utána egy nevet és egy kapcsos zárójelet. Így deklarálhat egy Game nevű struktúrát:
nyilvános struct játék {}
Hogyan lehet feltölteni egy struktúrát
A struktúra a kapcsos zárójelekben tárolja az adatokat attribútumok, konstruktorok, metódusok, események stb. formájában.
nyilvános struct játék
{
nyilvános karakterlánc neve;
nyilvános karakterlánc leírása;
nyilvánosint szintek;nyilvánosJátszma, meccs(karakterlánc neve, karakterlánc leírása, int szintek){
ez.name = név;
ez.description = leírás;
ez.levels = szintek;
}
nyilvános felülírási karakterlánc ToString() => $"Név: {name}, Leírás: {description}, Szintek: {levels}";
}
A Game struktúrának most három attribútuma van, egy konstruktor és egy metódus. Ez a C# struktúra három elsődleges komponense, amelyek egyben a három elsődleges összetevője is C# osztály.
Hogyan hozzunk létre struktúraváltozót
A C# struktúra minden példányát a változó. Kétféleképpen lehet létrehozni a változó egy szerkezetből. Használhat konstruktort:
játék game1 = új játék("Pokéhétfő GO", "Lorem ipsum dolor sit amet.", 50);
Vagy rendelhet értékeket egy struktúra egyes attribútumaihoz a pont (.) operátor használatával:
Játék játék1;
játék1.név = "Pokéhétfő GO";
játék1.leírás = "Lorem ipsum dolor sit amet.";
játék1.szintek = 50;
Mindkét megközelítés ugyanazt az eredményt éri el. A fenti kód a C# segítségével fejleszt egy Pokémon GO nevű játékobjektumot, amelynek rövid leírása és 50 szintje van. Tehát most már használhatja a game1 objektumot.
Konzol.WriteLine(játék 1.ToString());
Ez a következő kimenetet nyomtatja ki a konzolra:
Név: Pokémon GO, Leírás: Lorem ipsum dolor sit amet., Szintek: 50
A struktúra és az osztály közötti különbségek
A struktúra és az osztály hasonló megjelenésű, de sok jelentős különbség van köztük. Különböző kulcsszavakat használnak a deklarációhoz. És a struktúrák nem támogatják sem a null hivatkozásokat, sem az öröklődést.