Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse

int.Parse, eller int.TryParse.

 

f.eks.

int val = 0;
try
{
 val = int.Parse("123");
}
catch(FormatException)
{
 MessageBox.Show("Invalid Format!");
}
catch(OverflowException)
{
 MessageBox.Show("Overflow!");
}

 

Selv foretrekker jeg tryParse


int val = 0;

if(!int.TryParse("123", out val))
{
 MessageBox.Show("Invalid value!");
}

Endret av GeirGrusom
Lenke til kommentar
  • 1 måned senere...

Fordi int.TryParse() sjekker om det er en valid verdi, så du ikke trenger exception handling, noe som ser mye bedre ut, og som er kjappere?

 

int res;
try
{
 res = Convert.ToInt16(val);
}
catch
{
 MessageBox.Show("Ikke en int");
}

 

mot

 

int res;
if( !int.TryParse(val, out res) )
{
 MessageBox.Show("Ikke en int");
}

 

Edit: Koden du pastet ville i tillegg vært litt ubruklig, med mindre du skal ha hele koden din inne i try-catchen, da int'en din kun eksisterer i try-scopet.

Endret av Manfred
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...