Enumeratorer
Enum, også kendt som Enumerator, er en struktur til at gruppere nogle integrale konstanter. Konstanterne er grundlæggende af typen int
.
Følgende er syntaksen for at oprette en enum:
index.cs
1234567enum EnumName { Const1, Const2, Const3, ... }
Som standard har det første element i en enum værdien 0, det andet element har værdien 1
og så videre.
For eksempel:
index.cs
12345678910enum Days { Monday, // 0 Tuesday, // 1 Wednesday, // 2 Thursday, // 3 Friday, // 4 Saturday, // 5 Sunday // 6 }
Du kan få adgang til værdierne af disse konstanter ved at bruge syntaksen enumName.constantName
.
For eksempel:
index.cs
123456789101112131415161718192021222324using System; enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } class ConsoleApp { static void Main(string[] args) { // Explicitly converting the enum elements to 'int' and then outputting them Console.WriteLine((int)Days.Monday); // 0 Console.WriteLine((int)Days.Wednesday); // 2 Console.WriteLine((int)Days.Friday); // 4 Console.WriteLine((int)Days.Sunday); // 6 } }
Bemærk, at du i ovenstående eksempel eksplicit skal konvertere konstanten til en int
datatype, da disse konstanter som standard er af typen Days
, hvilket betyder, at enum'en Days
er en ny datatype, som du har oprettet. Derfor kan den gemmes i en variabel af typen Days
:
Days day = Days.Friday;
Dette er nyttigt i situationer som switch-sætninger.
For eksempel:
index.cs
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748using System; enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } class ConsoleApp { static void Main(string[] args) { Days day = Days.Friday; switch (day) { case Days.Monday: Console.WriteLine("It is Monday"); break; case Days.Tuesday: Console.WriteLine("It is Tuesday"); break; case Days.Wednesday: Console.WriteLine("It is Wednesday"); break; case Days.Thursday: Console.WriteLine("It is Thursday"); break; case Days.Friday: Console.WriteLine("It is Friday"); break; case Days.Saturday: Console.WriteLine("It is Saturday"); break; case Days.Sunday: Console.WriteLine("It is Sunday"); break; default: Console.WriteLine("Invalid Day"); break; } } }
Du kan også manuelt tildele værdier til enum-konstanterne. De ikke-tildelte konstanter får inkrementerede værdier fra de foregående elementer:
index.cs
123456789101112131415161718192021222324252627using System; enum Days { Monday, Tuesday, Wednesday = 5, Thursday, Friday, Saturday = 10, Sunday } class ConsoleApp { static void Main(string[] args) { // Explicitly converting the enum elements to 'int' and then outputting them Console.WriteLine((int)Days.Monday); Console.WriteLine((int)Days.Tuesday); Console.WriteLine((int)Days.Wednesday); Console.WriteLine((int)Days.Thursday); Console.WriteLine((int)Days.Friday); Console.WriteLine((int)Days.Saturday); Console.WriteLine((int)Days.Sunday); } }
1. Hvad er en enum i C#?
2. Hvilket nøgleord bruges til at definere en enum?
3. Hvad er den standard underliggende type for værdierne i en enum?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Can you give an example of how to define an enum?
How do I use enums in a switch statement?
What happens if I assign the same value to two enum constants?
Awesome!
Completion rate improved to 2.04
Enumeratorer
Stryg for at vise menuen
Enum, også kendt som Enumerator, er en struktur til at gruppere nogle integrale konstanter. Konstanterne er grundlæggende af typen int
.
Følgende er syntaksen for at oprette en enum:
index.cs
1234567enum EnumName { Const1, Const2, Const3, ... }
Som standard har det første element i en enum værdien 0, det andet element har værdien 1
og så videre.
For eksempel:
index.cs
12345678910enum Days { Monday, // 0 Tuesday, // 1 Wednesday, // 2 Thursday, // 3 Friday, // 4 Saturday, // 5 Sunday // 6 }
Du kan få adgang til værdierne af disse konstanter ved at bruge syntaksen enumName.constantName
.
For eksempel:
index.cs
123456789101112131415161718192021222324using System; enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } class ConsoleApp { static void Main(string[] args) { // Explicitly converting the enum elements to 'int' and then outputting them Console.WriteLine((int)Days.Monday); // 0 Console.WriteLine((int)Days.Wednesday); // 2 Console.WriteLine((int)Days.Friday); // 4 Console.WriteLine((int)Days.Sunday); // 6 } }
Bemærk, at du i ovenstående eksempel eksplicit skal konvertere konstanten til en int
datatype, da disse konstanter som standard er af typen Days
, hvilket betyder, at enum'en Days
er en ny datatype, som du har oprettet. Derfor kan den gemmes i en variabel af typen Days
:
Days day = Days.Friday;
Dette er nyttigt i situationer som switch-sætninger.
For eksempel:
index.cs
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748using System; enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } class ConsoleApp { static void Main(string[] args) { Days day = Days.Friday; switch (day) { case Days.Monday: Console.WriteLine("It is Monday"); break; case Days.Tuesday: Console.WriteLine("It is Tuesday"); break; case Days.Wednesday: Console.WriteLine("It is Wednesday"); break; case Days.Thursday: Console.WriteLine("It is Thursday"); break; case Days.Friday: Console.WriteLine("It is Friday"); break; case Days.Saturday: Console.WriteLine("It is Saturday"); break; case Days.Sunday: Console.WriteLine("It is Sunday"); break; default: Console.WriteLine("Invalid Day"); break; } } }
Du kan også manuelt tildele værdier til enum-konstanterne. De ikke-tildelte konstanter får inkrementerede værdier fra de foregående elementer:
index.cs
123456789101112131415161718192021222324252627using System; enum Days { Monday, Tuesday, Wednesday = 5, Thursday, Friday, Saturday = 10, Sunday } class ConsoleApp { static void Main(string[] args) { // Explicitly converting the enum elements to 'int' and then outputting them Console.WriteLine((int)Days.Monday); Console.WriteLine((int)Days.Tuesday); Console.WriteLine((int)Days.Wednesday); Console.WriteLine((int)Days.Thursday); Console.WriteLine((int)Days.Friday); Console.WriteLine((int)Days.Saturday); Console.WriteLine((int)Days.Sunday); } }
1. Hvad er en enum i C#?
2. Hvilket nøgleord bruges til at definere en enum?
3. Hvad er den standard underliggende type for værdierne i en enum?
Tak for dine kommentarer!