Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse
Skrevet (endret)

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
Skrevet

*være kranglefant* :p

 

Jeg liker også å bruke TryParse. Bruker den faktisk ganske ofte slik:

 

if( int.TryParse(strNumber, out intTest) && intTest > 0 ) Så slipper jeg to if-tester også :p

  • 1 måned senere...
Skrevet (endret)

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
Skrevet
if( int.TryParse(strNumber, out intTest) && intTest > 0 ) Så slipper jeg to if-tester også :p

 

Skjønte ikke helt poenget med intTest > 0? Skal du kun ha negative integers?

Skrevet
if( int.TryParse(strNumber, out intTest) && intTest > 0 ) Så slipper jeg to if-tester også :p

 

Skjønte ikke helt poenget med intTest > 0? Skal du kun ha negative integers?

 

Positive ihvertfall...

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...