C# Mi a különbség, amikor egy struktúra típusú listát csinálok vagy amikor egy classben olyan getter-settereket és utána a class nevét adom meg mint típus?
Tekintve, hogy a C# objektumorientált, nem nagyon értem mi meglepő van benne, vagy hogy mitől másabb, mintha struktúra lenne, tekintve, hogy nagy különbség nincsen ilyen szempontból.
Másrészt meg a getter/setter sem értem, hogy jön ide.
De ennek meg a listába rakáshoz semmi köze...
Ki érti ezt...
Propertykből nem csinálsz listát.
Nem tudnád értelmesen megfogalmazni mit akarsz kérdezni?
Arra vagy kíváncsi, hogy mi az érték meg a referencia típusok között?
Hogy tisztázzuk, a class minden esetben referencia szerint kezelődik a c#-ban ( és default private a láthatósága). Ezzel szemben a struktúra egy "lebutított osztály", melynek példányai érték szerint adódnak át ( és by default public ). Természetesen mindkét szerkezet tartalmazhat adattagokat melyeknek az alapértelmezettől eltérő láthatóságot is adhatsz.
A get-set blokk annyiban könnyíti meg az életedet ( főleg a java programozókkal szemben), hogy a lekérdező és az értékadó műveleteket közvetlenül az adattaghoz rendelheted. Természetesen ezeknek is lehet saját láthatóságuk, sőt a megvalósításuk se kötelező ( public adattag esetén a fordító implicit generál egy alapértelmezett get-set blokkot, valahogy így: var v{get;set;}). Az persze megint más kérdés, hogy mit szeretnél te ezzel, mert az nem befolyásolja azt, hogy egy generikus konténert te milyen típussal típusozol fel. Alapértelmezetten az Object valamely leszármazottja lehet egy generikus tároló típusa, de ezt ha szükséges le tudod szűkíteni. Erre van a where ksz. Ha érdekel, olvass utána.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!