Kezdőoldal » Számítástechnika » Programozás » C#-ban lehet egy List<List<str...

C#-ban lehet egy List<List<string>> belső listájának nevet adni mint normál esetben egy sima generikus listának? Mondjuk "macskák", azon belül "karmolósak", meg "dorombolósak".

Figyelt kérdés
2019. jún. 3. 19:44
 1/4 anonim ***** válasza:
Lehet, pl úgy, hogy a belső Collection nem egy List hanem inkább egy Dictionary, ami egy kulcs-érték pár gyűjteményt reprezentál. De én nem így csinálnám, hanem inkább csinálnék egy interface-t ami leírja a Karmolósak viselkedését illetve a Dorombolósak viselkedését és azt implementálnák a Karmolósak és Dorombolósak osztályok. Viszont lenne egy harmadik interface is, mondjuk Cat interface. És azt a Karmolósak osztály és a Dorombolósak osztály is implementálná. Akkor minden macsekot be tudsz tenni egy listába függetlenül attól, hogy ő karmol vagy dorombol. A Cat interfacenek kell egy metódus ami mondjuk Cselekves névre hallgat és ezt implementálni kell mindenhol. Ha meghívod a Cselekves fv-t akkor a karmolós macska karmol a dorombolós macska dorombol.
2019. jún. 3. 19:55
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:

Világos. Az interface eszembe sem jutott.

Még rutintalan vagyok.

Köszönöm.

2019. jún. 3. 20:19
 3/4 anonim ***** válasza:
100%
Ezzel az interfészeléssel nincsen túlbonyolítva a dolog?
2019. jún. 3. 23:19
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:

Nem. Igaza van az elsőnek.


Ebben az esetben nincs értelme dupla listát csinálni, teljesen értelmetlen. Erre van két megoldásod.


Az első az ahogy az első írta, interface-el.


A másik az hogy abstract osztály csinálsz a macskáknak, aminek a leszármazottja lesz a karmolós, meg a dorobolós. Így kódot is tudnak örökölni a karmolósok, a macska osztályban megírsz minden olyan metódust/property-t ami minden macskának van, a karmolós/dorombolós osztályban meg az adott típusu macskára vonatkozó metódusokat/property-ket írod meg.


Szerintem egyébként itt érdemesebb abstract osztály használni, mert itt van öröklődés is. Nem kell duplikálnod a kódot.

2019. jún. 4. 00:40
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!