IRONSOFTWAREHOME
ATUALIZAÇÕES DO DESENVOLVEDOR

Enums em C# (Como funcionam para desenvolvedores)

Curtis Chau
Curtis Chau
Updated: 21 de abril de 2026

Conteúdo do Corpo: Enums, abreviação de enumerações, são um recurso poderoso que permite aos desenvolvedores estabelecer um conjunto de constantes nomeadas. Essas constantes tornam o código mais legível e fácil de manter, fornecendo nomes significativos para os valores. Neste artigo, exploraremos os conceitos básicos e avançados de enums em C# por meio de vários exemplos e explicações. Nosso objetivo é fornecer uma compreensão abrangente de enums e como eles podem ser usados ​​de forma eficaz em seus aplicativos C# usando a biblioteca IronPDF para geração de PDFs em .NET .

Introduction to Enum in C#

Um enum é um tipo de valor em C# que permite que uma variável seja um conjunto de constantes predefinidas, cada uma referida como um membro do enum. A palavra-chave enum é usada para declarar um tipo de enumeração, fornecendo uma maneira de agrupar valores constantes sob um único nome. Enums melhoram a legibilidade do código e reduzem erros causados ​​pela passagem de valores incorretos.

// Define an enum with four members
enum Season { Spring, Summer, Autumn, Winter }

No código acima, Season é um tipo enum com quatro membros: Spring (Primavera), Summer (Verão), Autumn (Aumento) e Winter (Inverno). Ao definir essa enumeração, agora podemos criar variáveis ​​do tipo Season que podem conter apenas um desses quatro valores.

Tipo subjacente de enums

Entendendo o valor inteiro dos membros de um enum

Por padrão, o tipo subjacente de uma enumeração em C# é int, conhecido como tipo integral subjacente, e os valores inteiros dos membros da enumeração começam em 0. O valor inteiro de cada membro é incrementado em 1 em relação ao membro anterior, a menos que seja especificado explicitamente. Você também pode definir o tipo subjacente de uma enumeração como qualquer outro tipo integral.

// Define an enum with a byte underlying type and specific values
enum Season : byte { Spring = 1, Summer, Autumn = 4, Winter }

Neste exemplo, a enumeração Season tem um byte como seu tipo subjacente. A primavera recebe explicitamente o valor 1, tornando-se o valor padrão, enquanto o verão, o outono e o inverno recebem valores correspondentes com base em sua ordem.

Utilizando Enums em seu código

Para usar uma enumeração, basta declarar uma variável do tipo de enumeração especificado e atribuir a ela um valor da enumeração, como um dos diferentes valores definidos dentro da declaração da enumeração, usando a sintaxe de ponto.

// Declare a Season variable and assign it an enum member value
Season currentSeason = Season.Autumn;

Esta linha cria uma variável currentSeason do tipo Season e atribui a ela o valor Autumn . Isso deixa claro que currentSeason só pode conter um valor que seja uma temporada válida.

Convertendo entre valores de enumeração e números inteiros

Você pode converter um valor de enumeração em seu valor inteiro correspondente usando a função de conversão (casting), e vice-versa. Isso é útil quando você precisa armazenar ou transmitir dados em formato numérico.

// Convert Season.Autumn to its integer value and vice versa
int autumnInt = (int)Season.Autumn;     // autumnInt will be 4
Season season = (Season)4;              // season will be Season.Autumn

Aqui, autumnInt terá o valor 4, que corresponde a Autumn (Outono) na enumeração Season . Por outro lado, a estação será definida como Outono ao converter o número inteiro 4 de volta para uma Estação .

Trabalhando com métodos de enumeração

C# fornece vários métodos para trabalhar com enums, como Enum.GetName() , Enum.GetNames() , Enum.GetValue() e Enum.GetValues() , que são úteis para acessar as constantes int associadas a cada membro do enum.

// Get names of all enum members and print them
string[] names = Enum.GetNames(typeof(Season));
foreach (string name in names)
{
    Console.WriteLine(name);
}

Enums em C# (Como funciona para desenvolvedores): Figura 1 - Saída do console de cada valor associado com o enum Season

Este trecho de código imprime os nomes de todos os membros da enumeração Season . Esses métodos são incrivelmente úteis para iterar sobre todos os valores possíveis de uma enumeração ou para converter entre a representação em string e o valor da enumeração.

Atribuição de valores específicos aos membros da enumeração

Você pode atribuir valores inteiros específicos aos membros da enumeração para controlar explicitamente seus valores numéricos.

// Define an enum with custom integer values for members
enum ErrorCode : int { None = 0, NotFound = 404, Unauthorized = 401 }

Neste exemplo, ErrorCode é uma enumeração com valores inteiros personalizados atribuídos a cada membro. Isso é útil para códigos numéricos predefinidos, como os códigos de status HTTP.

Utilizando Enums como Flags de Bit

Ao usar o atributo [Flags] , você pode definir uma enumeração como um conjunto de sinalizadores de bits. Isso permite armazenar uma combinação de valores em uma única variável enum.

[Flags]
// Define an enum for permissions using bit flags
enum Permissions { None = 0, Read = 1, Write = 2, Execute = 4 }

Com a enumeração Permissions definida acima, você pode combinar diferentes permissões usando o operador OR bit a bit.

// Combine permissions using bitwise OR
Permissions myPermissions = Permissions.Read | Permissions.Write;

Isso define minhas permissões para uma combinação de permissões de leitura e gravação .

Instruções Enum e Switch

Enums funcionam excepcionalmente bem com instruções switch , permitindo que você execute diferentes blocos de código com base no valor do enum.

// Use a switch statement with an enum
Season season = Season.Summer;
switch (season)
{
    case Season.Spring:
        Console.WriteLine("It's spring.");
        break;
    case Season.Summer:
        Console.WriteLine("It's summer.");
        break;
    case Season.Autumn:
        Console.WriteLine("It's autumn.");
        break;
    case Season.Winter:
        Console.WriteLine("It's winter.");
        break;
}

Este código imprimirá "É verão." porque a variável season está definida como Season.Summer .

Analisando string para enum

Em C#, é possível analisar uma string para obter o valor de enumeração correspondente usando o método Enum.Parse() .

// Parse a string into an enum value
string input = "Winter";
Season season = (Season)Enum.Parse(typeof(Season), input);

Este código converte a string "Winter" em seu valor de enumeração correspondente, Season.Winter .

Integrating IronPDF with Enums in C#

IronPDF PDF Library for Dynamic Document Generation é uma biblioteca PDF para aplicações .NET que auxilia desenvolvedores na criação, edição e manipulação de documentos PDF com facilidade. Essa poderosa biblioteca pode ser particularmente útil em cenários onde a geração dinâmica de PDFs é necessária, como na geração de relatórios ou faturas. Nesta seção, exploraremos como integrar o IronPDF com enums em C# para criar relatórios em PDF a partir de HTML no .NET , e também abordaremos o processo de instalação do IronPDF em seu projeto.

Com o IronPDF, você pode transformar qualquer HTML, URL ou página da web em um PDF que fica exatamente igual ao original. É uma ótima opção para gerar PDFs de faturas, relatórios e outros conteúdos online. Pronto para converter HTML em PDF ? O IronPDF torna tudo muito fácil.

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}

Instalando o IronPDF

A instalação do IronPDF é muito fácil usando o console do gerenciador de pacotes NuGet . Abra o console do gerenciador de pacotes no Visual Studio e digite o seguinte comando:

PM > Install-Package IronPdf

Este comando instalará o IronPDF em nosso projeto.

Uma forma alternativa é instalar o IronPDF em seu projeto utilizando o Visual Studio. No Visual Studio, clique com o botão direito do mouse no explorador de soluções e clique em Gerenciador de Pacotes NuGet para Soluções. Em seguida, clique na aba "Procurar" no lado esquerdo. Depois, procure por IronPDF, clique em "Instalar" e adicione-o ao seu projeto.

Enums em C# (Como funciona para desenvolvedores): Figura 2 - Instale o IronPDF pesquisando "IronPDF" usando o Gerenciador de Pacotes NuGet

Utilizando o IronPDF com Enums

Vamos considerar um cenário em que você deseja gerar um documento PDF que inclua um relatório sobre dados de vendas sazonais. Você pode usar enums para representar diferentes estações do ano e o IronPDF para gerar o relatório em PDF. Primeiro, defina um enum para as estações do ano:

public enum Season
{
    Spring,
    Summer,
    Autumn,
    Winter
}

Em seguida, escreveremos um método que gera um relatório em PDF com base na estação do ano selecionada. Este método utilizará o IronPDF para criar um documento PDF simples que descreve os dados de vendas para a temporada em questão.

using IronPdf;
public class SalesReportGenerator
{
    public static void GenerateSeasonalSalesReport(Season season)
    {
        IronPdf.License.LicenseKey = "License-Key";
        var Renderer = new IronPdf.ChromePdfRenderer();
        var htmlTemplate = $"<h1>Sales Report for {season}</h1><p>This section contains sales data for the {season} season.</p>";
        var pdf = Renderer.RenderHtmlAsPdf(htmlTemplate);
        var outputPath = $@"{season}SalesReport.pdf";
        pdf.SaveAs(outputPath);
        Console.WriteLine($"PDF report generated: {outputPath}");
    }
}

Neste exemplo, definimos um método GenerateSeasonalSalesReport que recebe um enum Season como parâmetro. Ele usa a classe ChromePdfRenderer do IronPDF para gerar um PDF a partir de uma string HTML que inclui o nome da temporada e um texto de espaço reservado para dados de vendas. O PDF é então salvo com um nome de arquivo que inclui o nome da temporada.

Execução

Para gerar um relatório de vendas sazonal, chame o método GenerateSeasonalSalesReport especificando a estação do ano:

static void Main(string[] args)
{
    SalesReportGenerator.GenerateSeasonalSalesReport(Season.Winter);
}

Essa chamada gera um documento PDF chamado WinterSalesReport.pdf , que inclui o relatório de vendas da temporada de inverno.

Enums em C# (Como funciona para desenvolvedores): Figura 3 - Exemplo de saída em PDF usando o IronPDF a partir do exemplo de código

Conclusão

Enums em C# oferecem uma maneira segura de trabalhar com conjuntos de constantes nomeadas relacionadas. Elas melhoram a legibilidade do código, reduzem erros e facilitam uma organização mais limpa do código. Ao agrupar valores constantes relacionados sob um nome significativo, os enums tornam seu código mais fácil de entender e manter.

A integração do IronPDF com enums em C# permite a geração dinâmica de documentos PDF com base em tipos enumerados. O IronPDF oferece um período de teste gratuito de suas ferramentas abrangentes para PDF , fornecendo uma variedade de opções para atender às diferentes necessidades e escalas de projetos.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Artigos relacionados

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.