Enumeratorer
Enum, även kallad Enumerator, är en struktur för att gruppera ihop vissa integralkonstanter. Konstanterna är i grunden av typen int
.
Följande är syntaxen för att skapa en enum:
index.cs
1234567enum EnumName { Const1, Const2, Const3, ... }
Som standard har det första elementet i en enum värdet 0, det andra elementet har värdet 1
och så vidare.
Till exempel:
index.cs
12345678910enum Days { Monday, // 0 Tuesday, // 1 Wednesday, // 2 Thursday, // 3 Friday, // 4 Saturday, // 5 Sunday // 6 }
Du kan komma åt värdena för dessa konstanter med syntaxen enumName.constantName
.
Till exempel:
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 } }
Observera att i exemplet ovan måste du uttryckligen konvertera konstanten till datatypen int
eftersom dessa konstanter som standard är av typen Days
, vilket innebär att enumen Days
är en ny datatyp som du har skapat. Därför kan den lagras i en variabel av typen Days
:
Days day = Days.Friday;
Detta är användbart i exempelvis switch-satser.
Exempel:
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 även manuellt tilldela värden till enum-konstanterna. De icke-tilldelade konstanterna får inkrementerade värden från föregående element:
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. Vad är en enum i C#?
2. Vilket nyckelord används för att definiera en enum?
3. Vad är den förvalda underliggande typen för värden i en enum?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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
Svep för att visa menyn
Enum, även kallad Enumerator, är en struktur för att gruppera ihop vissa integralkonstanter. Konstanterna är i grunden av typen int
.
Följande är syntaxen för att skapa en enum:
index.cs
1234567enum EnumName { Const1, Const2, Const3, ... }
Som standard har det första elementet i en enum värdet 0, det andra elementet har värdet 1
och så vidare.
Till exempel:
index.cs
12345678910enum Days { Monday, // 0 Tuesday, // 1 Wednesday, // 2 Thursday, // 3 Friday, // 4 Saturday, // 5 Sunday // 6 }
Du kan komma åt värdena för dessa konstanter med syntaxen enumName.constantName
.
Till exempel:
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 } }
Observera att i exemplet ovan måste du uttryckligen konvertera konstanten till datatypen int
eftersom dessa konstanter som standard är av typen Days
, vilket innebär att enumen Days
är en ny datatyp som du har skapat. Därför kan den lagras i en variabel av typen Days
:
Days day = Days.Friday;
Detta är användbart i exempelvis switch-satser.
Exempel:
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 även manuellt tilldela värden till enum-konstanterna. De icke-tilldelade konstanterna får inkrementerade värden från föregående element:
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. Vad är en enum i C#?
2. Vilket nyckelord används för att definiera en enum?
3. Vad är den förvalda underliggande typen för värden i en enum?
Tack för dina kommentarer!