Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Enumeratori | Struct e Enumeratori
C# Oltre le Basi

bookEnumeratori

Enum, noto anche come Enumeratore, è una struttura utilizzata per raggruppare insieme alcune costanti intere. Le costanti sono fondamentalmente di tipo int.

Di seguito è riportata la sintassi per creare un enum:

index.cs

index.cs

copy
1234567
enum EnumName { Const1, Const2, Const3, ... }

Per impostazione predefinita, il primo elemento di un enum ha valore 0, il secondo elemento ha valore 1 e così via.

Ad esempio:

index.cs

index.cs

copy
12345678910
enum Days { Monday, // 0 Tuesday, // 1 Wednesday, // 2 Thursday, // 3 Friday, // 4 Saturday, // 5 Sunday // 6 }

È possibile accedere ai valori di queste costanti utilizzando la sintassi enumName.constantName.

Ad esempio:

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 } }

Nota che nell'esempio sopra è necessario convertire esplicitamente la costante nel tipo di dato int poiché queste costanti sono di tipo Days per impostazione predefinita, il che significa che l'enum Days è un nuovo tipo di dato che hai creato. Pertanto, può essere memorizzato in una variabile di tipo Days:

Days day = Days.Friday;

Questo è utile in contesti come le istruzioni switch.

Ad esempio:

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; } } }

È anche possibile assegnare manualmente valori alle costanti dell'enum. Le costanti non assegnate assumono valori incrementali rispetto agli elementi precedenti:

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. Che cos'è un enum in C#?

2. Quale parola chiave viene utilizzata per definire un enum?

3. In un enum, qual è il tipo sottostante predefinito per i valori?

question mark

Che cos'è un enum in C#?

Select the correct answer

question mark

Quale parola chiave viene utilizzata per definire un enum?

Select the correct answer

question mark

In un enum, qual è il tipo sottostante predefinito per i valori?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 10

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

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

bookEnumeratori

Scorri per mostrare il menu

Enum, noto anche come Enumeratore, è una struttura utilizzata per raggruppare insieme alcune costanti intere. Le costanti sono fondamentalmente di tipo int.

Di seguito è riportata la sintassi per creare un enum:

index.cs

index.cs

copy
1234567
enum EnumName { Const1, Const2, Const3, ... }

Per impostazione predefinita, il primo elemento di un enum ha valore 0, il secondo elemento ha valore 1 e così via.

Ad esempio:

index.cs

index.cs

copy
12345678910
enum Days { Monday, // 0 Tuesday, // 1 Wednesday, // 2 Thursday, // 3 Friday, // 4 Saturday, // 5 Sunday // 6 }

È possibile accedere ai valori di queste costanti utilizzando la sintassi enumName.constantName.

Ad esempio:

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 } }

Nota che nell'esempio sopra è necessario convertire esplicitamente la costante nel tipo di dato int poiché queste costanti sono di tipo Days per impostazione predefinita, il che significa che l'enum Days è un nuovo tipo di dato che hai creato. Pertanto, può essere memorizzato in una variabile di tipo Days:

Days day = Days.Friday;

Questo è utile in contesti come le istruzioni switch.

Ad esempio:

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; } } }

È anche possibile assegnare manualmente valori alle costanti dell'enum. Le costanti non assegnate assumono valori incrementali rispetto agli elementi precedenti:

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. Che cos'è un enum in C#?

2. Quale parola chiave viene utilizzata per definire un enum?

3. In un enum, qual è il tipo sottostante predefinito per i valori?

question mark

Che cos'è un enum in C#?

Select the correct answer

question mark

Quale parola chiave viene utilizzata per definire un enum?

Select the correct answer

question mark

In un enum, qual è il tipo sottostante predefinito per i valori?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 10
some-alt