Turiu TextBoxD1.Text
ir noriu jį konvertuoti į int
, kad galėčiau saugoti duomenų bazėje.
Kaip tai padaryti?
Išbandykite tai:
int x = Int32.Parse(TextBoxD1.Text);
arba dar geriau:
int x = 0;
Int32.TryParse(TextBoxD1.Text, out x);
Be to, kadangi Int32.TryParse
grąžina bool
, galite naudoti jo grąžinamąją vertę, kad priimtumėte sprendimus apie apdorojimo rezultatus:
int x = 0;
if (Int32.TryParse(TextBoxD1.Text, out x))
{
// you know that the parsing attempt
// was successful
}
Jei jums įdomu, skirtumą tarp Parse
ir TryParse
geriausia apibendrinti taip:
TryParse metodas yra panašus į Parse metodas, tik TryParse metodas neišmeta išimties, jei konvertavimas nepavyksta. Jis pašalina poreikį naudoti išimčių tvarkymą tikrinant FormatException įvykio metu kad s yra neteisingas ir negali būti sėkmingai parsiduoti. - MSDN
Convert.ToInt32( TextBoxD1.Text );
Naudokite šią parinktį, jei esate įsitikinę, kad teksto laukelio turinys yra galiojanti int. Saugesnis variantas yra
int val = 0;
Int32.TryParse( TextBoxD1.Text, out val );
Tai suteiks jums tam tikrą numatytąją vertę, kurią galite naudoti. Int32.TryParse
taip pat grąžina loginę reikšmę, nurodančią, ar pavyko išrinkti, ar ne, todėl ją galite naudoti net kaip if
teiginio sąlygą.
if( Int32.TryParse( TextBoxD1.Text, out val ){
DoSomething(..);
} else {
HandleBadInput(..);
}