C#, konzolalkalmazás, ellenőrzött adatbekérés, nagyon gusztustalan a lenti megoldás?
Kérlek finoman, ha magamtól rájönnék, miért nem jó, nem lenne kérdésem.
A cél, hogy adott tartományon belüli egész számokat fogadjon csak el, pl 5 és 8 között.
int min = 5, max = 8;
Console.WriteLine($"Kérem a számot {min} és {max} között!");
int num;
while (!int.TryParse(Console.ReadLine(), out num) || num < 5 || num > 8)
{
Console.WriteLine("Nem megfelelő a megadott adat, kérem, próbálja újra!");
}
Szóval a While ciklus feltételében min és max van otthon, az or helyett and nem biztos, de otthon teszteltem, jó volt.
Tehát marad az elméleti hiba, a csúnyaság.





Semmi baj nincs vele.
Azt bármilyen bohóc be tudja büffenteni, hogy Solid meg Clean Code, de attól még lehet fingja nincs a dolgokról.










Hát, ide maximum az S jöhetne a Solidból, már annyiból hogy a beolvasás és a validálás két külön responsibilty.
Amúgy min, max mehetne private static readonly field-be, és számomra könnyebben értelmezhető lenne egy olyan logika, hogy
while(true){
if(int.TryParse(Console.Readline(), out num){
if(num >=5 && num <= 8){
return num;
}
else{
Console.WriteLine(“A szam nem 5 és 8 között van”);
}
}
else{
Console.Writeline(“Ez nem is egy szam.”);
}
}
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!