Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Enumeratorer | Strukturer och Enumeratorer
C# Bortom Grunderna

bookEnumeratorer

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

index.cs

copy
1234567
enum 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

index.cs

copy
12345678910
enum 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

index.cs

copy
123456789101112131415161718192021222324
using 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

index.cs

copy
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
using 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

index.cs

copy
123456789101112131415161718192021222324252627
using 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?

question mark

Vad är en enum i C#?

Select the correct answer

question mark

Vilket nyckelord används för att definiera en enum?

Select the correct answer

question mark

Vad är den förvalda underliggande typen för värden i en enum?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 10

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Suggested prompts:

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

bookEnumeratorer

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

index.cs

copy
1234567
enum 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

index.cs

copy
12345678910
enum 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

index.cs

copy
123456789101112131415161718192021222324
using 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

index.cs

copy
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
using 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

index.cs

copy
123456789101112131415161718192021222324252627
using 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?

question mark

Vad är en enum i C#?

Select the correct answer

question mark

Vilket nyckelord används för att definiera en enum?

Select the correct answer

question mark

Vad är den förvalda underliggande typen för värden i en enum?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 10
some-alt