Avatar billede jriff Nybegynder
10. marts 2005 - 16:39 Der er 8 kommentarer

Diverse små spørgsmål

Hej Alle!

Jeg har lige et par hurtige nybegynderspørgsmål til jer ;-)

1. Hvad betyder det når man skriver String s = @"blabla"; - Altså hvad gør snabel-a'et?

2. Hvad gør det her, og hvad kan man bruge det til?:
    public enum XXX {
      a=1,
      b=2,
      c=3
    }

Mange tak for hjælpen!
Avatar billede arne_v Ekspert
10. marts 2005 - 16:45 #1
re 1)

At \ opfattes som et tegn og ikke som en escape karakter.

re 2)

Enumeration bruges til lister af værdier med symbolske navne som typisk
angiver typen af et eller andet.
Avatar billede arne_v Ekspert
10. marts 2005 - 16:46 #2
Eksempel:

"C:\\noget.dat"

eller

@"C:\noget.dat"

uden @ skal \ dubleres
Avatar billede burningice Nybegynder
10. marts 2005 - 17:53 #3
man kan også sige at enum er en gave til programmøren så man ikke skal gå og huske på åndsvage tal som flags, men nu kan navngive dem.

før:

Person p = new Person();
p.Level = 1;
p.Group = 16;

nu: (med enums)

Person p = new Person();
p.Level = UserLevel.Admin;
p.Group = UserGroup.ITDepartment | UserGroup.Directors
Avatar billede arne_v Ekspert
10. marts 2005 - 18:03 #4
Nu vil jeg nok mene at før ikke var numeriske konstanter i koden men
const int felter ...
Avatar billede burningice Nybegynder
10. marts 2005 - 18:17 #5
som oftest, ja... men det ændrer ikke så meget ved hvad enum's er, en nemmere måde at definere disse tal på. Man har ligeledes mulighed for at parse en streng til en enum, og gemme en enum til streng.

Noget der ikke er helt så nemt med normale int-fields.
Avatar billede arne_v Ekspert
10. marts 2005 - 18:25 #6
Enumerations har efter min bedste overbevisning ikke noget at lave i streng form, så
det argument giver jeg ikke meget for.

Den store fordel ved enumerations fremfor er type sikkerheden.

Person p = new Person();
p.Level = UserLevel.Admin;
p.Group = UserGroup.ITDepartment;

og

Person p = new Person();
p.Level = UserLevel_Admin;
p.Group = UserGroup_ITDepartment;

er et fedt.

Men:

Person p = new Person();
p.Level = UserGroup_ITDepartment;
p.Group = UserLevel_Admin;

compiler fint med const int - og vil nok give nogle "interessante" fænomener runtime.
Avatar billede burningice Nybegynder
10. marts 2005 - 18:39 #7
det er da rigtigt at ideen med enums forsvinder lidt når de er i strengform, men nogle gange kan det da være meget bekvendt at få værdien af en enum skrevet ud som tekst da man jo ikke kan gå og huske på de åndsvage numre hele tiden.

Type stærkt, helt klart !
Avatar billede arne_v Ekspert
10. april 2005 - 17:58 #8
OK ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester