Mam TextBoxD1.Text
i chcę go przekonwertować na int
, aby przechowywać go w bazie danych.
Jak mogę to zrobić?
Spróbuj tego:
int x = Int32.Parse(TextBoxD1.Text);
lub jeszcze lepiej:
int x = 0;
Int32.TryParse(TextBoxD1.Text, out x);
Również, ponieważ Int32.TryParse
zwraca bool
możesz użyć jego wartości zwrotnej do podjęcia decyzji o wynikach próby parsowania:
int x = 0;
if (Int32.TryParse(TextBoxD1.Text, out x))
{
// you know that the parsing attempt
// was successful
}
Jeśli jesteś ciekawy, różnica między Parse
i TryParse
jest najlepiej podsumowana w ten sposób:
Metoda TryParse jest jak Parse z wyjątkiem tego, że metoda TryParse nie wyrzuca wyjątku, jeśli konwersja nie powiedzie się. Eliminuje to potrzebę używania obsługi wyjątków do testowania dla wyjątku FormatException w przypadku że s jest niepoprawne i nie może być z powodzeniem parsowane. - MSDN]2
Convert.ToInt32( TextBoxD1.Text );
Użyj tego, jeśli czujesz się pewny, że zawartość pola tekstowego jest poprawnym int. Bezpieczniejszą opcją jest
int val = 0;
Int32.TryParse( TextBoxD1.Text, out val );
To zapewni Ci pewną domyślną wartość, której możesz użyć. Funkcja Int32.TryParse
zwraca również wartość logiczną wskazującą czy była w stanie wykonać parsowanie czy nie, więc możesz jej nawet użyć jako warunku instrukcji if
.
if( Int32.TryParse( TextBoxD1.Text, out val ){
DoSomething(..);
} else {
HandleBadInput(..);
}