Mit rontottam el az alábbi C# kódban?
public static bool LétezőNapEllenőrzés(string hónap, string nap)
{
switch (int.Parse(hónap))
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if(int.Parse(nap)>=1 && int.Parse(nap)<=31)
return true;
else
return false;
case 4:
case 6:
case 9:
case 11:
if(int.Parse(nap)>=1 && int.Parse(nap)<=30)
return true;
else
return false;
case 2:
if(int.Parse(nap)>=1 && int.Parse(nap)<=28)
return true;
else
return false;
}
}
A fordító szerint nem minden lehetséges kimenet ad vissza értéket. Tudtommal az, hogy nincs default kimenet egyéb lehetőségekre amúgy sem kellene, hogy hibát jelezzen, mivel opcionális, de egyébként is le van kezelve máshol, hogy más szám ne jöhessen be. Szóval mi a problémája?
Ilyenkor sem random értéket kell visszaadni, mert rémálom lesz később a hibakeresés, hanem kivételt kell dobni.
Aki ilyen orbitális baromságokat tanácsol, mint #1, annak a válaszait el se olvasd inkább legközelebb.
Harmadrészt meg már a függvény tervezése is rossz.
Túl sok dolgot csinál, vagy legalábbis nem logikus formában.
Vagy nem neki kéne parszolni a stringet, vagy egy darab stringet kéne kapnia és arról megmondani, hogy valódi dátum-e, ez így elég értelmetlen.
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!