C# matar in siffror i ett textBox fönster men när jag deletar siffrorna kraschar det

Permalänk
Medlem

C# matar in siffror i ett textBox fönster men när jag deletar siffrorna kraschar det

C# matar in siffror i ett textBox fönster men när jag deletar siffrorna kraschar det, om jag skriver in 322 t.ex. och sen deletar det kraschar programmet med en FormatException. Antar att problemet är att det inte finns ngt string innehåll att översätta till int. Hur löser man det?

private void textBox_TextChanged(object sender, EventArgs e)
{

int guess = Convert.ToInt32(textBox.Text); <------Kraschar här

//guess = Convert.ToInt32(guess);

Edit: jag gjorde en try catch
private void textBox_TextChanged(object sender, EventArgs e)
{
int guess =0;

try{
int guess = Convert.ToInt32(textBox.Text); <------Kraschar här
}catch

Permalänk
Medlem

try catch fungerar ju, att det krashade berodde ju bara på att du skickade in en tom textsträng vilket kan fixas genom att kolla om längden är större än noll, men med try catch funkar det om du matar in alla andra konstigheter som bokstäver och tecken...

Så du har fixat ditt problem nu, eller kashar det fortf. någonstans?

Permalänk
Medlem

istället för Convert.ToInt32 använd Int.TryParse() istället. Google är din vän

Permalänk

Kontrollera alltid användar-input, i det här fallet kolla att det finns något överhuvudtaget och sen Int.TryParse()

Visa signatur

Nikon D90, Nikon D7000, SB-600, 2xYN-460, Nikkor 18-105mm/3.5-5.6 VR, Nikkor 35mm/1.8, Nikkor 50mm/1.8D, Tamron 70-200/2.8, Tokina 11-16/2.8, Nikon 85/3.5 Macro
Flickr