C# int tipusú változó bekérése?
Az lenne, a kérdésem, hogy ezt hogyan lehet megoldani:
Ugyebár számot nem lehet bekérni, csak stringet. A string át kell alakítani int-re.
Tehát pl
valtozo = Convert.Int32(ConsoleReadline());
Akkor a változóba már intként van benne amit bekértünk inputrol.
Na ja. De ez int32, persze lehet int16-ot is. De ha pl 1-10-ig akarunk csak egy számot akkor az memória pazarlás. Mert mindegy, hogy 1 vagy 100000 az érték ugyannyit foglal le az int32.
Szóval, hogy lehet, hogy csak sima int típus legyen?
"s mindenhol csak int32-re van konvertálás."
Mármint hol mindenhol? Látezik Convert.ToByte is...
Egyébként sztem inkább int.Parse-t és byte.Parse-t használj, az szebb:)
Például nem nyeli le simán ha null-t adsz neki, hanem szépen jön az exception.
Végső soron a Convert.ToInt32 is csak egy int.Parse-t fog belül hívni.
Hát, nem tudom, hogy ez szebb-e:
string s = Console.ReadLine();
int i = Int32.Parse(s)
Mint ez:
int i = Convert.ToInt3(Console.ReadLine());
Szerintem még mindig jobb Convert-el.
Parse-val is ugyanúgy elszáll, ha nem számot adsz meg. Ezért kell a kivételkezelést beleírni. De az ugyanúgy kell mind a kettőbe.
Akkor most mi van?
Akkor már inkább a TryParse nem? Az 0-val tér vissza, hogyha nem szám és nem száll el.
De az is hosszabb, mint Covertel.
"De az is hosszabb, mint Covertel."
Márint több karakter?
Nem értem mit számít, de egyébként az
int.Parse 6 karakterrel rövidebb mint a Convert.ToInt32
Nincs nagy különbség, de szerintem mégis szebb picit a Parse pont amiatt, mert nem ad hamis eredményt....
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!