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.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
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").
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
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 © 2025, 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!