Ho una TextBoxD1.Text
e voglio convertirla in un int
per memorizzarla in un database.
Come posso farlo?
Prova questo:
int x = Int32.Parse(TextBoxD1.Text);
o meglio ancora:
int x = 0;
Int32.TryParse(TextBoxD1.Text, out x);
Inoltre, poiché Int32.TryParse
restituisce un bool
potete usare il suo valore di ritorno per prendere decisioni sui risultati del tentativo di analisi:
int x = 0;
if (Int32.TryParse(TextBoxD1.Text, out x))
{
// you know that the parsing attempt
// was successful
}
Se siete curiosi, la differenza tra Parse
e TryParse
è meglio riassunta così:
Il metodo TryParse è come il metodo Parse tranne che il metodo TryParse non lancia un'eccezione se la conversione fallisce. Elimina la bisogno di usare la gestione delle eccezioni per testare per una FormatException nel caso in cui che s non sia valido e non possa essere analizzato con successo. - MSDN
Convert.ToInt32( TextBoxD1.Text );
Usalo se sei sicuro che il contenuto della casella di testo sia un int valido. Un'opzione più sicura è
int val = 0;
Int32.TryParse( TextBoxD1.Text, out val );
Questo vi fornirà un valore di default che potete usare. Int32.TryParse
restituisce anche un valore booleano che indica se è stato in grado di analizzare o meno, quindi potete anche usarlo come condizione di una dichiarazione if
.
if( Int32.TryParse( TextBoxD1.Text, out val ){
DoSomething(..);
} else {
HandleBadInput(..);
}