Elimde bir TextBoxD1.Text
var ve bunu bir veritabanında saklamak için bir int
ye dönüştürmek istiyorum.
Bunu nasıl yapabilirim?
Bunu dene:
int x = Int32.Parse(TextBoxD1.Text);
ya da daha iyisi:
int x = 0;
Int32.TryParse(TextBoxD1.Text, out x);
Ayrıca, Int32.TryParse
bir bool
döndürdüğünden, ayrıştırma girişiminin sonuçları hakkında karar vermek için dönüş değerini kullanabilirsiniz:
int x = 0;
if (Int32.TryParse(TextBoxD1.Text, out x))
{
// you know that the parsing attempt
// was successful
}
Eğer merak ediyorsanız, Parse
ve TryParse
arasındaki fark en iyi bu şekilde özetlenebilir:
TryParse yöntemi, Parse yöntemi gibidir yöntemi, TryParse yöntemi hariç ise bir istisna atmaz. dönüşüm başarısız. Bu ortadan kaldırır test etmek için istisna işleme kullanmanız gerekir olayında bir FormatException için bu s geçersizdir ve olamaz başarıyla ayrıştırıldı. - MSDN
Convert.ToInt32( TextBoxD1.Text );
Metin kutusunun içeriğinin geçerli bir int olduğundan eminseniz bunu kullanın. Daha güvenli bir seçenek
int val = 0;
Int32.TryParse( TextBoxD1.Text, out val );
Bu size kullanabileceğiniz bazı varsayılan değerler sağlayacaktır. Int32.TryParse
ayrıca ayrıştırma yapıp yapamadığını gösteren bir boolean değeri döndürür, böylece bunu bir if
deyiminin koşulu olarak bile kullanabilirsiniz.
if( Int32.TryParse( TextBoxD1.Text, out val ){
DoSomething(..);
} else {
HandleBadInput(..);
}