Kezdőoldal » Számítástechnika » Programozás » Mit rontottam el az alábbi C#...

Mit rontottam el az alábbi C# kódban?

Figyelt kérdés

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?



2016. nov. 28. 23:57
 1/6 anonim ***** válasza:
37%
Attól még mert te minden szerinted lehetséges inputot lekezelsz a switchben, a fordító nem fogja tudni, hogy te csak x és y közötti értéket adsz meg, szóval kell default, valami random értéket írj be. Ha jól van megírva a feltétel, akkor sosem fog oda kerülni a vezérlés, de szerepelnie ettől függetlenül kell.
2016. nov. 29. 00:04
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:
Áh, igen, elfelejtettem, hogy függvényben nem ilyen opcionális. Köszönöm.
2016. nov. 29. 00:08
 3/6 anonim ***** válasza:
40%

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.

2016. nov. 29. 06:56
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:
Egyébként meg használd a DateTime osztályt, erre van kitalálva.
2016. nov. 29. 07:02
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:

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.

2016. nov. 29. 07:05
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:
És amúgy a szökőéveket ki is hagytad a számításból :)
2016. nov. 29. 12:25
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!