Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Enumeradores | Structs e Enumeradores
C# Além do Básico

bookEnumeradores

Enum, também conhecido como Enumerador, é uma estrutura para agrupar alguns constantes integrais. As constantes são basicamente do tipo int.

A seguir está a sintaxe para criar um enum:

index.cs

index.cs

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

Por padrão, o primeiro elemento de um enum possui o valor 0, o segundo elemento possui o valor 1 e assim por diante.

Por exemplo:

index.cs

index.cs

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

É possível acessar os valores dessas constantes utilizando a sintaxe enumName.constantName.

Por exemplo:

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

Observe que, no exemplo acima, é necessário converter explicitamente a constante para o tipo de dado int, pois essas constantes são do tipo Days por padrão, o que significa que o enum Days é um novo tipo de dado criado por você. Portanto, ele pode ser armazenado em uma variável do tipo Days:

Days day = Days.Friday;

Isso é útil em situações como instruções switch.

Por exemplo:

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

Você também pode atribuir valores manualmente às constantes do enum. As constantes não atribuídas recebem valores incrementados em relação aos elementos anteriores:

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. O que é um enum em C#?

2. Qual palavra-chave é usada para definir um enum?

3. Em um enum, qual é o tipo subjacente padrão para os valores?

question mark

O que é um enum em C#?

Select the correct answer

question mark

Qual palavra-chave é usada para definir um enum?

Select the correct answer

question mark

Em um enum, qual é o tipo subjacente padrão para os valores?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 10

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 2.04

bookEnumeradores

Deslize para mostrar o menu

Enum, também conhecido como Enumerador, é uma estrutura para agrupar alguns constantes integrais. As constantes são basicamente do tipo int.

A seguir está a sintaxe para criar um enum:

index.cs

index.cs

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

Por padrão, o primeiro elemento de um enum possui o valor 0, o segundo elemento possui o valor 1 e assim por diante.

Por exemplo:

index.cs

index.cs

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

É possível acessar os valores dessas constantes utilizando a sintaxe enumName.constantName.

Por exemplo:

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

Observe que, no exemplo acima, é necessário converter explicitamente a constante para o tipo de dado int, pois essas constantes são do tipo Days por padrão, o que significa que o enum Days é um novo tipo de dado criado por você. Portanto, ele pode ser armazenado em uma variável do tipo Days:

Days day = Days.Friday;

Isso é útil em situações como instruções switch.

Por exemplo:

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

Você também pode atribuir valores manualmente às constantes do enum. As constantes não atribuídas recebem valores incrementados em relação aos elementos anteriores:

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. O que é um enum em C#?

2. Qual palavra-chave é usada para definir um enum?

3. Em um enum, qual é o tipo subjacente padrão para os valores?

question mark

O que é um enum em C#?

Select the correct answer

question mark

Qual palavra-chave é usada para definir um enum?

Select the correct answer

question mark

Em um enum, qual é o tipo subjacente padrão para os valores?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 10
some-alt