IRONSOFTWAREHOME
AKTUALNOŚCI DLA PROGRAMISTÓW

Enumy w języku C# (jak działają dla programistów)

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Jacob Mellor
Updated: 21 kwietnia 2026

Zawartość ciała: Enumy, skrocone formy enumeracji, to potężna funkcja, która pozwala programistom ustanowić zbiór nazwanych stałych. Te stałe sprawiają, że kod jest bardziej czytelny i łatwiejszy do utrzymania, dzięki nadawaniu wartościom znaczących nazw. W tym artykułe przyjrzymy się podstawom i zaawansowanym koncepcjom enumeracji w C# poprzez różne przykłady i wyjaśnienia. Naszym celem jest dostarczenie wszechstronnego zrozumienia enumów oraz sposobu ich skutecznego użycia w Twoich aplikacjach C# przy użyciu biblioteki IronPDF do generowania PDF w .NET.

Introduction to Enum in C#

Enum to rodzaj wartościowy w C#, który umożliwia zmiennej byćie zbiorem wcześniej zdefiniowanych stałych, z których każda nazywana jest elementem enum. Słowo kluczowe enum jest używane do deklarowania typu enumeracji, zapewniając sposób grupowania stałych wartości pod jedną nazwą. Enums poprawiają czytelność kodu i zmniejszają błędy spowodowane przekazywaniem niepoprawnych wartości.

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

W powyższym kodzie Season jest typem enum z czterema elementami: Wiosna, Lato, Jesień i Zima. Definiując ten enum, możemy teraz tworzyć zmienne typu Season, które mogą przechowywać tylko jedną z tych czterech wartości.

Podstawowy Typ Enumów

Zrozumienie Wartości Liczbowych Elementów Enum

Domyślnie podstawowym typem enum w C# jest int, znany jako podstawowy typ całkowity, a wartości liczbowe elementów enum zaczynają się od 0. Wartość liczbowa każdego elementu zwiększa się o 1 od poprzedniego elementu, chyba że jest określona inaczej. Możesz również określić, aby podstawowym typem enum był inny typ całkowity.

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

W tym przykładzie enum Season ma typ byte jako podstawowy typ. Wiosna ma jawnie przypisaną wartość 1, co czyni ją domyślną wartością, podczas gdy Lato, Jesień i Zima otrzymują odpowiadające im wartości na podstawie ich kolejności.

Używanie Enum w Twoim Kodzie

Aby użyć enum, po prostu zadeklaruj zmienną określonego typu enum i przypisz jej wartość enum, taką jak jedna z różnych wartości zdefiniowanych w deklaracji enum, używając składni kropkowej.

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

Ta linia tworzy zmienną currentSeason typu Season i przypisuje jej wartość Autumn. To wyjaśnia, że currentSeason może przechowywać tylko wartość, która jest ważnym Season.

Konwersja Pomiędzy Wartościami Enum i Liczbami

Możesz zamienić wartość enum na odpowiadającą jej wartość liczbową za pomocą rzutowania i odwrotnie. Jest to przydatne, gdy musisz przechowywać lub przesyłać dane w ich formie liczbowej.

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

Tutaj autumnInt będzie mieć wartość 4, która odpowiada Autumn w enumie Season. Odwrotnie, season zostanie ustawione na Autumn podczas rzutowania liczby 4 z powrotem na Season.

Praca z Metodami Enum

C# oferuje kilka metod pracy z enum, takich jak Enum.GetName(), Enum.GetNames(), Enum.GetValue() i Enum.GetValues(), które są użyteczne do uzyskiwania dostępu do stałych int związanych z każdym elementem enum.

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

C# Enums (Jak to działa dla programistów): Rysunek 1 - Wynik konsoli dla każdej wartości powiązanej z wyliczeniem Season

Ten fragment kodu drukuje nazwy wszystkich elementów enumu Season. Takie metody są niezwykle przydatne podczas iteracji nad wszystkimi możliwymi wartościami enum lub konwersji między reprezentacją łańcuchową a wartością enum.

Przypisywanie Specyficznych Wartości Członkom Enum

Możesz przypisać konkretnym elementom enum określone wartości liczbowe, aby jawnie kontrolować ich wartość liczbową.

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

W tym przykładzie ErrorCode jest enumem z niestandardowymi wartościami liczbowymi przypisanymi do każdego elementu. Jest to przydatne w przypadku wcześniej zdefiniowanych kodów liczbowych, takich jak kody statusu HTTP.

Używanie Enum jako Bitów Flagowych

Używając atrybutu [Flags], możesz zdefiniować enum jako zbiór bitów flagowych. To pozwala na przechowywanie kombinacji wartości w pojedynczej zmiennej enum.

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

Dzięki enumowi Permissions, zdefiniowanemu powyżej, możesz połączyć różne uprawnienia za pomocą operatora bitowego OR.

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

To ustawia myPermissions na kombinację uprawnień Read i Write.

Enum i instrukcje Switch

Enumy działają wyjątkowo dobrze z instrukcjami switch, pozwalając na wykonanie różnych bloków kodu w oparciu o wartość 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;
}

Ten kod wydrukuje "To lato.", ponieważ zmienna season jest ustawiona na Season.Summer.

Analiza Łańcucha na Enum

C# pozwala na analizę łańcucha znaków, aby uzyskać odpowiadającą wartość enum, używając metody Enum.Parse().

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

Ten kod przekształca łańcuch "Winter" w odpowiadającą mu wartość enum Season.Winter.

Integrating IronPDF with Enums in C#

Biblioteka PDF IronPDF do Dynamicznego Generowania Dokumentów to biblioteka PDF dla aplikacji .NET, która pomaga programistom tworzyć, edytować i manipulować dokumentami PDF z łatwością. Ta potężna biblioteka może być szczególnie przydatna w scenariuszach, gdzie wymagane jest dynamiczne generowanie PDF, takich jak generowanie raportów lub faktur. W tej sekcji przyjrzymy się, jak zintegrować IronPDF z enumem C# dla tworzenia raportów PDF z HTML w .NET, oraz omówimy proces instalacji IronPDF w Twoim projekcie.

Dzięki IronPDF, możesz zamienić dowolny HTML, URL lub stronę internetową na PDF, który wygląda dokładnie jak źródło. To świetna opcja do generowania PDF dla faktur, raportów i innych treści opartych na sieci. Gotowy do konwersji HTML na PDF? IronPDF sprawia, że proces jest bezproblemowy.

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

Instalacja IronPDF

Instalacja IronPDF jest bardzo prosta przy użyciu konsoli menedżera pakietów NuGet. Otwórz konsolę menedżera pakietów w Visual Studio i wpisz następujące polecenie:

PM > Install-Package IronPdf

To polecenie zainstaluje IronPDF w naszym projekcie.

Alternatywnym sposobem jest zainstalowanie IronPDF w Twoim projekcie za pomocą Visual Studio. W Visual Studio, kliknij prawym przyciskiem myszy w eksploratorze rozwiązań i kliknij NuGet Package Manager for Solutions. Następnie kliknij kartę przeglądania po lewej stronie. Następnie wyszukaj IronPDF, kliknij zainstaluj i dodaj go do projektu.

C# Enums (Jak to działa dla programistów): Rysunek 2 - Zainstaluj IronPDF, wyszukując

Używanie IronPDF z Enum

Rozważmy scenariusz, w którym chcesz wygenerować dokument PDF zawierający raport o sprzedaży sezonowej. Możesz użyć enumów do reprezentowania różnych sezonów i IronPDF do generowania raportu PDF. Najpierw zdefiniuj enum dla sezonów:

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

Następnie napiszemy metodę, która generuje raport PDF na podstawie wybranego sezonu. Ta metoda wykorzysta IronPDF do stworzenia prostego dokumentu PDF, który przedstawi dane sprzedażowe dla danego sezonu.

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

W tym przykładzie definiujemy metodę GenerateSeasonalSalesReport, która przyjmuje enum Season jako parametr. Używa klasy ChromePdfRenderer IronPDF do generowania PDF z łańcucha HTML, który zawiera nazwę sezonu i tekst zastępczy dla danych sprzedażowych. PDF jest wtedy zapisywany z nazwą pliku, która zawiera nazwę sezonu.

Wykonanie

Aby wygenerować raport z sezonowej sprzedaży, wywołaj metodę GenerateSeasonalSalesReport z określonym sezonem:

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

To wywołanie generuje dokument PDF nazwany WinterSalesReport.pdf, który zawiera raport sprzedaży na zimę.

C# Enums (Jak to działa dla programistów): Rysunek 3 - Przykład wyjścia PDF za pomocą IronPDF z przykładu kodu

Wnioski

Enumy w C# oferują bezpieczny typowo sposób pracy z zestawami powiązanych nazwanych stałych. Poprawiają one czytelność kodu, zmniejszają liczbę błędów i ułatwiają czystsze organizowanie kodu. Grupując powiązane wartości stałe pod znaczącą nazwą, enumy ułatwiają zrozumienie i utrzymanie kodu.

Integrując IronPDF z enumem w C#, możliwe jest dynamiczne generowanie dokumentów PDF na podstawie typów enumeracyjnych. IronPDF oferuje bezpłatną wersję próbną swoich wszechstronnych narzędzi PDF, zapewniającą szereg opcji pasujących do różnych potrzeb i rozmiarów projektów.

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Dyrektor ds. technologii

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczącą ponad 50 osób, obsługującą NASA, Teslę i światowe agencje rządowe.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta