C# ban az alábbi sor PONTOSAN mit jelent? El tudja nekem valaki érthetően magyarázni?
enum felsorolás {alma = 1, körte = 4, szilva = 13};
felsorolás érték;
Enum.TryParse("körte",out érték);
Azt nem értem ,hogy az ÉRTÉK miért lett FELSOROLÁS típusú. Ha valaki érthetően ,értelmesen elmagyarázná azt megköszönném.
Ezen igazából nincs mit érteni, vagy nem érteni.
Azért lett felsorolás típusú, mert olyannak lett deklarálva/definiálva (magyarul kb: "mert ez van odaírva").
A magasabb szintű absztrakció miatt.
Ha számokkal reprezentálod a gyümölcsöket, akkor folyamatosan nyilván kell tartanod, hogy melyik gyümölcs milyen számnak felel meg.
Tegyük fel, hogy van egy gyümölcssaláta osztályod, amihez gyümölcsöket akars hozzáadni.
Melyik az olvashatóbb, egyértelműbb a következő két megoldás közül?
gyümölcsSaláta.Add(felsorolás.alma);
gyümölcsSaláta.Add(felsorolás.körte);
gyümölcsSaláta.Add(felsorolás.szilva);
vagy
gyümölcsSaláta.Add(1);
gyümölcsSaláta.Add(4);
gyümölcsSaláta.Add(13);
Érzed a különbséget?
A másik, ha string lenne.
A felsorolt típusok egy zárt halmazt alkotnak, a példában például 3 féle értéket vehet fel.
Míg a string típus bármi lehet. Az előző példához hasonlóan:
gyümölcsSaláta.Add("alma");
gyümölcsSaláta.Add("körte");
gyümölcsSaláta.Add("szilva");
gyümölcsSaláta.Add("gerehhrhe");
gyümölcsSaláta.Add(null);
Ha stringgel ábrázolnánk ezek fordítási időben mind helyesek lennének, miközben egyértelmű, hogy gerehhrhe nevű gyümölcs nincs, se null-t nem érdemes hozzáadni egy salátához, mert attól nem lesz se finomabb, se több.
Tehát a válasz a kérdésedre:
- magasabb szintű absztrakció
- olvashatóság
- fordítás idejű típus ellenőrzés
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!