Svish Skrevet 18. november 2008 Del Skrevet 18. november 2008 enum Bokstaver { A, B, C } Bokstaver bokstav = Bokstaver.A; Så vidt jeg kan se så gir følgende to linjer kode samme string: bokstav.ToString(); Enum.GetName(typeof(Bokstaver), bokstav); Linje 2 er jo skrekkelig mye lengre... er det noen forskjell på de to egentlig? Er det mer "korrekt" å bruke linje 2? Eller er det i bunn og grunn det samme? Lenke til kommentar
GeirGrusom Skrevet 18. november 2008 Del Skrevet 18. november 2008 Bruk heller ToString. Enum funksjonene er mer ment til reflection. Lenke til kommentar
Glenn F. Henriksen Skrevet 19. november 2008 Del Skrevet 19. november 2008 Denne var litt pussig. Jeg og tenkte "bruk ToString()" og ferdig med det. For moro skyld tittet jeg litt i Reflector og fant at det var litt mer IL kode involvert i å bruke Enum.GetName. Men så tok jeg en titt i profileren og fant noe interessant... ToString() metoden brukte mye lengre tid enn Enum.GetName()! ToString() var ca tre ganger tregere enn Enum.GetType. Se vedlegg for screenshot av profiler: Lenke til kommentar
Svish Skrevet 19. november 2008 Forfatter Del Skrevet 19. november 2008 Hm... hehe. so, what is your verdict? Tror jeg skal ta å bruke ToString av den enkle grunn at det er kortere å skrive Tid er ikke så viktig i denne sammenhengen da det bare er noe som skal gjøres en gang i blant for noen få verdier. Men dersom det var mer som skulle gjøres så er jo dette definitivt noe å tenke på... hva slags program er det screenshotet fra? Lenke til kommentar
Glenn F. Henriksen Skrevet 19. november 2008 Del Skrevet 19. november 2008 Med mindre det er noe som krever en veldig høy ytelse og du skal gjøre det mange mange ganger ville jeg bare brukt ToString(). Den gir, som du sier, en mye renere kode. Forskjellen, selv om den er relativt stor er ikke så veldig mye i tid. Screenshottet er fra ANTS Profiler. 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å