Wie kann ich String in Int konvertieren?

Ich habe einen "TextBoxD1.Text" und möchte ihn in einen "INT" konvertieren, um ihn in einer Datenbank zu speichern.

Wie kann ich das tun?

Lösung

Versuchen Sie dies:

int x = Int32.Parse(TextBoxD1.Text);

oder noch besser:

int x = 0;

Int32.TryParse(TextBoxD1.Text, out x);

Da Int32.TryParse ein bool zurückgibt, können Sie den Rückgabewert verwenden, um Entscheidungen über die Ergebnisse des Parsing-Versuchs zu treffen:

int x = 0;

if (Int32.TryParse(TextBoxD1.Text, out x))
{
    // you know that the parsing attempt
    // was successful
}

Wenn Sie neugierig sind, lässt sich der Unterschied zwischen Parse und TryParse am besten wie folgt zusammenfassen:

Die TryParse-Methode ist wie die Parse

Methode, außer dass die TryParse-Methode keine Ausnahme auslöst, wenn die Konvertierung fehlschlägt. Sie eliminiert die Notwendigkeit, Ausnahmebehandlung zu verwenden, um zu testen auf eine FormatException für den Fall dass s ungültig ist und nicht erfolgreich geparst werden kann. - MSDN

Kommentare (8)
Convert.ToInt32( TextBoxD1.Text );

Verwenden Sie diese Option, wenn Sie sicher sind, dass der Inhalt des Textfelds ein gültiger Wert ist. Eine sicherere Option ist

int val = 0;
Int32.TryParse( TextBoxD1.Text, out val );

Damit erhalten Sie einen Standardwert, den Sie verwenden können. Int32.TryParse" gibt auch einen booleschen Wert zurück, der angibt, ob das Parsen möglich war oder nicht, so dass Sie es sogar als Bedingung einer "if"-Anweisung verwenden können.

if( Int32.TryParse( TextBoxD1.Text, out val ){
  DoSomething(..);
} else {
  HandleBadInput(..);
}
Kommentare (2)
int.TryParse()

Es wird nicht geworfen, wenn der Text nicht numerisch ist.

Kommentare (2)