stooy Skrevet 25. september 2007 Del Skrevet 25. september 2007 hvordan kan man konvertere string i c# til integerverdier? Lenke til kommentar
GeirGrusom Skrevet 25. september 2007 Del Skrevet 25. september 2007 (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 27. september 2007 av GeirGrusom Lenke til kommentar
Manfred Skrevet 27. september 2007 Del Skrevet 27. september 2007 "ref val"? jeg bruker da alltid "out val" Lenke til kommentar
GeirGrusom Skrevet 27. september 2007 Del Skrevet 27. september 2007 out da, kranglefant! Lenke til kommentar
Manfred Skrevet 27. september 2007 Del Skrevet 27. september 2007 *være kranglefant* 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å Lenke til kommentar
dahwan Skrevet 12. november 2007 Del Skrevet 12. november 2007 Kan en ikke bare bruke Convert(), da? try{ int converted = Convert.ToInt32(myString); } catch{} Lenke til kommentar
Manfred Skrevet 13. november 2007 Del Skrevet 13. november 2007 (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 13. november 2007 av Manfred Lenke til kommentar
MrLova Skrevet 14. november 2007 Del Skrevet 14. november 2007 if( int.TryParse(strNumber, out intTest) && intTest > 0 ) Så slipper jeg to if-tester også Skjønte ikke helt poenget med intTest > 0? Skal du kun ha negative integers? Lenke til kommentar
j000rn Skrevet 14. november 2007 Del Skrevet 14. november 2007 if( int.TryParse(strNumber, out intTest) && intTest > 0 ) Så slipper jeg to if-tester også Skjønte ikke helt poenget med intTest > 0? Skal du kun ha negative integers? Positive ihvertfall... Lenke til kommentar
Manfred Skrevet 14. november 2007 Del Skrevet 14. november 2007 I eksempelet jeg hentet det fra skulle jeg kun ha positive tall ja, for det er et parameter som skal samsvare med en database ID Lenke til kommentar
GeirGrusom Skrevet 15. november 2007 Del Skrevet 15. november 2007 uint.TryParse? Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå