0Pricing
C# Academy · Aula

Definindo e usando enumerações

Crie enumerações com valores explícitos e implícitos.

Definindo e usando enumerações é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C# Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C# Academy inclui 4 aulas no total.

O que é uma enumeração?

Uma enum é um conjunto nomeado de constantes relacionadas. Ela torna o código mais legível ao substituir números mágicos por nomes significativos.

using System;

enum Direction { North, East, South, West }
class Program {
    static void Main() {
        Direction d = Direction.East;
        Console.WriteLine(d);
    }
}

Declarando uma enumeração

Você declara uma enumeração com a palavra-chave enum e lista seus membros. Por padrão, o primeiro é 0, o seguinte é 1 e assim por diante.

using System;

enum Day { Mon, Tue, Wed }
class Program {
    static void Main() {
        Console.WriteLine((int)Day.Mon);
        Console.WriteLine((int)Day.Wed);
    }
}

Valores subjacentes personalizados

Você pode atribuir números explicitamente. Os membros sem atribuição continuam a sequência a partir do valor anterior.

using System;

enum Status { Active = 1, Paused = 5, Stopped }
class Program {
    static void Main() {
        Console.WriteLine((int)Status.Stopped);
    }
}

Escolhendo um tipo subjacente

As enumerações usam int por padrão, mas você pode escolher outro tipo integral, como byte, para economizar espaço.

using System;

enum Level : byte { Low = 1, High = 200 }
class Program {
    static void Main() {
        Console.WriteLine((byte)Level.High);
    }
}

Enumerações em variáveis

Use um tipo de enumeração como qualquer outro tipo para variáveis, parâmetros e campos.

using System;

enum Color { Red, Green, Blue }
class Program {
    static void Describe(Color c) {
        Console.WriteLine("Color is " + c);
    }
    static void Main() {
        Describe(Color.Green);
    }
}

Enumerações em switch

As enumerações combinam muito bem com switch para ramificações claras e abrangentes.

using System;

enum Signal { Stop, Go, Caution }
class Program {
    static void Main() {
        Signal s = Signal.Go;
        switch (s) {
            case Signal.Stop: Console.WriteLine("Halt"); break;
            case Signal.Go: Console.WriteLine("Move"); break;
            default: Console.WriteLine("Slow"); break;
        }
    }
}

Comparando valores de enumerações

Os valores de enumerações podem ser comparados com == e operadores de ordenação com base em seus números subjacentes.

using System;

enum Priority { Low, Medium, High }
class Program {
    static void Main() {
        Console.WriteLine(Priority.High > Priority.Low);
    }
}

Valor padrão de uma enumeração

Uma enumeração não inicializada é igual ao membro com valor 0. É uma boa prática fazer de 0 um padrão sensato, como None.

using System;

enum Mode { None, Fast, Slow }
class Program {
    static void Main() {
        Mode m = default;
        Console.WriteLine(m);
    }
}

Imprimindo nomes de enumerações

Chamar ToString ou imprimir uma enumeração exibe o nome do membro, que é muito mais claro do que um número bruto.

using System;

enum Fruit { Apple, Banana, Cherry }
class Program {
    static void Main() {
        Console.WriteLine(Fruit.Banana.ToString());
    }
}

Enumerações melhoram a legibilidade

Em comparação com a passagem de inteiros sem contexto, as enumerações documentam a intenção e impedem valores inválidos.

using System;

enum Size { Small, Medium, Large }
class Program {
    static int PriceFor(Size s) {
        return s == Size.Large ? 12 : 8;
    }
    static void Main() {
        Console.WriteLine(PriceFor(Size.Large));
    }
}

Onde declarar enumerações

As enumerações podem ficar no nível do namespace ou dentro de uma classe. Mantenha-as próximas do código que as utiliza.

using System;

class Program {
    enum Phase { Start, Run, End }
    static void Main() {
        Console.WriteLine(Phase.Run);
    }
}

Verificação rápida

Teste sua compreensão das enumerações.

Recapitulação

Uma enum define um conjunto de constantes nomeadas, melhorando a legibilidade em comparação com números mágicos. Os membros têm como padrão 0, 1, 2..., mas você pode atribuir valores explicitamente e até alterar o tipo integral subjacente.

As enumerações funcionam muito bem em variáveis, estruturas switch e comparações, exibem os nomes de seus membros e têm como padrão o membro com valor 0.

Perguntas Frequentes

A aula “Definindo e usando enumerações” é grátis?

Sim — o texto completo de “Definindo e usando enumerações” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C# Academy, atualize para CoddyKit PRO. O curso de C# Academy inclui 4 aulas no total.

O que vou aprender em “Definindo e usando enumerações”?

Crie enumerações com valores explícitos e implícitos. Você pratica C# Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar C# Academy?

Nenhuma experiência prévia é necessária. C# Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Definindo e usando enumerações”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de C# Academy?

Sim. Cada aula de C# Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Definindo e usando enumerações
  2. Enumerações de sinalizadores e combinações bit a bit
  3. Conversão e análise de enumerações
  4. Percorrendo valores de enumerações
← Voltar para C# Academy