Jag har en TextBoxD1.Text
och jag vill konvertera den till en int
för att lagra den i en databas.
Hur kan jag göra detta?
Prova det här:
int x = Int32.Parse(TextBoxD1.Text);
eller ännu bättre:
int x = 0;
Int32.TryParse(TextBoxD1.Text, out x);
Eftersom Int32.TryParse
returnerar en bool
kan du använda dess returvärde för att fatta beslut om resultaten av analysförsöket:
int x = 0;
if (Int32.TryParse(TextBoxD1.Text, out x))
{
// you know that the parsing attempt
// was successful
}
Om du är nyfiken kan skillnaden mellan Parse
och TryParse
sammanfattas på följande sätt:
TryParse-metoden är som Parse metoden, förutom att TryParse-metoden inte kastar ett undantag om konverteringen misslyckas. Den eliminerar behovet av att använda undantagshantering för att testa för ett FormatException i händelsen att s är ogiltig och inte kan framgångsrikt analyseras. - MSDN
Convert.ToInt32( TextBoxD1.Text );
Använd detta om du känner dig säker på att innehållet i textrutan är ett giltigt int. Ett säkrare alternativ är
int val = 0;
Int32.TryParse( TextBoxD1.Text, out val );
Detta ger dig ett standardvärde som du kan använda. Int32.TryParse
returnerar också ett boolskt värde som anger om det gick att analysera eller inte, så du kan även använda det som villkor i ett if
-statement.
if( Int32.TryParse( TextBoxD1.Text, out val ){
DoSomething(..);
} else {
HandleBadInput(..);
}