IRONSOFTWAREHOME
AKTUALNOŚCI DLA PROGRAMISTÓW

Instrukcja case w języku C# (jak działa dla programistów)

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

Instrukcja switch w języku C# stanowi bardziej uproszczoną i czytelniejszą alternatywę dla wielu bloków if-else. Jest to przydatne, gdy masz zmienną, która może przyjmować jedną z kilku różnych wartości, a musisz wykonać inny kod w zależności od tej wartości. Instrukcja switch ocenia wyrażenie i wykonuje kod w oparciu o pasującą wartość, co czyni ją integralną częścią procesu podejmowania decyzji w kodzie.

Podczas gdy konstrukcje if-else są przydatne w przypadku prostych warunków lub sprawdzeń, instrukcje switch case sprawdzają się doskonale przy bardziej złożonych sprawdzaniach warunków, zwłaszcza tych opartych na pojedynczej zmiennej lub wyrażeniu dopasowującym wzorzec. Zapewniają one bardziej przejrzystą i zrozumiałą składnię w porównaniu z instrukcjami if, co ma kluczowe znaczenie zarówno dla pisania, jak i utrzymywania kodu.

Podstawy instrukcji switch

Czym jest instrukcja switch?

Instrukcja switch w języku C# to struktura kontrolna służąca do wyboru jednej z wielu ścieżek kodu do wykonania. Wybór opiera się na wartości lub wyrażeniu. Jest to wydajna alternatywa dla stosowania wielu warunków if-else, zwłaszcza w przypadku zmiennej, która może przyjmować kilka różnych wartości.

Składnia

Podstawowa składnia instrukcji switch jest prosta:

// Switch statement
switch (variable)
{
    case value1:
        // Code to execute if variable equals value1
        break;
    case value2:
        // Code to execute if variable equals value2
        break;
    // More cases as needed
    default:
        // Code to execute if variable doesn't match any case
        break;
}
  • switch (variable): Określa zmienną lub wyrażenie do oceny.
  • case value1: Są to różne wartości lub warunki, które sprawdzasz w odniesieniu do zmiennej.
  • break: Słowo kluczowe używane do opuszczenia bloku 'switch' po wykonaniu pasującego przypadku.
  • default instrukcja: Ten blok wykonuje się, jeśli żaden z określonych przypadków nie pasuje do zmiennej.

Zrozumienie instrukcji Break

Instrukcja break w switch jest kluczowa. Uniemożliwia ona "przechodzenie" do następnej instrukcji, nawet jeśli już został spełniony warunek. Każdy blok case zazwyczaj kończy się instrukcją break, aby zapewnić, że wykonana zostanie tylko instrukcja pod pasującym case'em.

Porównanie instrukcji Switch i instrukcji If-Else

Podczas gdy struktura instrukcji if-else polega na sprawdzeniu warunku i wykonaniu bloku kodu, gdy warunek jest prawdziwy, instrukcja switch porównuje pojedynczą zmienną lub wyrażenie z wieloma potencjalnymi wartościami. Dzięki temu instrukcja switch jest bardziej zwięzła i łatwiejsza do odczytania, gdy masz wiele warunków lub wzorców case do sprawdzenia.

Przykład: Wykorzystanie instrukcji Switch

int number = 3;
switch (number)
{
    case 1:
        Console.WriteLine("One");
        break;
    case 2:
        Console.WriteLine("Two");
        break;
    case 3:
        Console.WriteLine("Three");
        break;
    default:
        Console.WriteLine("Other Number"); // Print to console
        break;
}

W tym przykładzie program wyświetli "Trzy" jako wynik, ponieważ liczba pasuje do case 3.

Rola domyślnego przypadku

Zrozumienie domyślnego przypadku w bloku Switch

W instrukcji switch przypadek domyślny odgrywa kluczową rolę. Służy jako opcja wychwytująca, która wykonuje się, gdy żadna z określonych etykiet case nie pasuje do wartości wyrażenia switch. Chociaż jest opcjonalny, włączenie przypadku domyślnego to dobra praktyka, aby obsługiwać nieoczekiwane lub nieznane wartości.

Jak i kiedy używać instrukcji domyślnej

Przypadek domyślny jest używany, gdy chcesz wykonać blok kodu, jeśli żadna z konkretnych instrukcji nie pasuje. Zapewnia, że instrukcja switch zawsze ma zdefiniowane zachowanie, niezależnie od danych wejściowych. Domyślny przypadek jest deklarowany używając słowa kluczowego default, a następnie dwukropka.

default:
    // Code to execute if no case matches
    break;

Przypadek domyślny można umieścić w dowolnym miejscu w bloku switch, ale zazwyczaj umieszcza się go na końcu dla czytelności.

Przykład: Instrukcja Switch z przypadkiem domyślnym

Rozważ scenariusz, w którym oceniasz dzień tygodnia:

int day = 5;
string dayName;
switch (day)
{
    case 1:
        dayName = "Monday";
        break;
    case 2:
        dayName = "Tuesday";
        break;
    case 3:
        dayName = "Wednesday";
        break;
    case 4:
        dayName = "Thursday";
        break;
    case 5:
        dayName = "Friday";
        break;
    case 6:
        dayName = "Saturday";
        break;
    case 7:
        dayName = "Sunday";
        break;
    default:
        dayName = "Invalid day";
        break;
}
Console.WriteLine(dayName);

W tym przykładzie, jeśli day ma wartość inną niż od 1 do 7, zostanie wykonany domyślny przypadek, ustawiając dayName na 'Niepoprawny dzień'.

Najlepsze praktyki dla przypadku domyślnego

  • Zawsze włącz przypadek domyślny: Nawet jeśli uważasz, że pokryłeś wszystkie możliwe przypadki, włącz przypadek domyślny, aby obsłużyć nieprzewidziane wartości.
  • Sensowne działania: Użyj przypadku domyślnego do wykonania sensownych działań, takich jak rejestrowanie błędów, ustawianie wartości domyślnej czy powiadamianie użytkownika o nieznanej wartości.

Zaawansowane funkcje Switch

Introduction to Switch Expressions in C#

Wraz z ewolucją C#, wprowadzone zostały switch expressions jako bardziej zwięzły i wyrazisty sposób obsługi wielu gałęzi warunkowych. W przeciwieństwie do tradycyjnych instrukcji switch, switch expressions zwracają wartość i są bardziej zoptymalizowane, dzięki czemu stanowią potężne narzędzie w nowoczesnym programowaniu w C#.

Składnia Switch Expressions

Składnia switch expression w C# to bardziej zwarta forma instrukcji case switch. Oto podstawowa struktura:

var result = variable switch
{
    value1 => result1,
    value2 => result2,
    _ => defaultResult
};

Symbol podkreślenia (_) reprezentuje przypadek domyślny w switch expressions, funkcjonując podobnie do bloku domyślnego w tradycyjnych instrukcjach switch.

Przykład: Wykorzystanie switch expressions

Rozważ scenariusz, w którym musisz skategoryzować odczyt temperatury:

int temperature = 25;
string weatherDescription = temperature switch
{
    <= 0 => "Freezing",
    < 20 => "Cold",
    < 30 => "Mild",
    _ => "Hot"
};
Console.WriteLine(weatherDescription);

W tym przykładzie, switch expression zwięźle kategoryzuje temperaturę, z przypadkiem domyślnym (_) obejmującym każde scenariusz, który nie jest dopasowany przez inne przypadki.

Dopasowywanie wzorców z switch expressions

Switch expressions w C# umożliwiają dopasowywanie wzorców, co czyni je jeszcze bardziej wszechstronnymi. Możesz dopasowywać typy, wartości, a nawet wzorce:

object obj = // some object;
string description = obj switch
{
    int i => $"Integer: {i}",
    string s => $"String: {s}",
    _ => "Unknown type"
};

Instrukcja C# 'switch' kontra 'switch expression'

  • C# Switch Statement: Tradycyjnie używane do wykonywania różnych bloków kodu w oparciu o wartość zmiennej. Wymaga instrukcji break dla każdego przypadku.
  • Switch Expression: Wprowadzone w C# 8.0, oferuje bardziej zwięzłą składnię i jest zwykle używane, gdy konieczne jest zwrócenie wartości w oparciu o warunek.

Integrating Switch Statements with IronPDF in C#

Instrukcja przypadku C# (Jak to działa dla programistów): Rysunek 1 - IronPDF

Odkryj funkcje IronPDF to .NET biblioteka PDF do tworzenia, edytowania i pracy z dokumentami PDF. Po połączeniu z instrukcjami lub wyrażeniami switch w C#, staje się potężnym narzędziem do obsługi różnych operacji związanych z PDF na podstawie określonych warunków. Ta integracja jest szczególnie użyteczna dla zadań, które wymagają podejmowania decyzji w oparciu o zawartość PDF lub metadane.

Kluczową funkcją IronPDF jest konwertowanie HTML do PDF przy zachowaniu układów i stylów. Jest to idealne do tworzenia PDF z treści internetowych, w tym raportów, faktur i dokumentacji. Pliki HTML, adresy URL i ciągi HTML można łatwo konwertować na pliki PDF.

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

Przykład: Warunkowe znakowanie wodne z IronPDF and Switch Statements

Rozważmy scenariusz, w którym posiadasz dokument PDF, i chcesz zastosować różne znaki wodne w zależności od liczby stron w dokumencie. Oto, jak możesz to osiągnąć, używając IronPDF w połączeniu z instrukcją switch w C#:

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        IronPdf.License.LicenseKey = "Your-License-Code";
        PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
        // Define different watermark HTML for each case
        string watermarkHtmlOnePage = "<div style='color:red;'>One Page Document</div>";
        string watermarkHtmlTwoPage = "<div style='color:blue;'>Two Page Document</div>";
        switch (pdf.PageCount)
        {
            case 1:
                // Apply watermark for one-page document
                pdf.ApplyWatermark(watermarkHtmlOnePage);
                break;
            case 2:
                // Apply watermark for two-page documents
                pdf.ApplyWatermark(watermarkHtmlTwoPage);
                break;
            default:
                // Apply a default watermark for other cases
                pdf.ApplyWatermark("<div style='color:green;'>Multiple Page Document</div>");
                break;
        }
        // Save the watermarked PDF
        pdf.SaveAs("watermarked.pdf");
    }
}

Oto wyjściowy plik PDF jednej strony:

Instrukcja przypadku C# (Jak to działa dla programistów): Rysunek 2 - Wyjście

Wnioski

W tym samouczku zbadaliśmy instrukcję switch case w C#, podstawową formę podejmowania decyzji w programowaniu. Zaczynaliśmy od zrozumienia jej podstawowej struktury i porównaliśmy ją z tradycyjnymi instrukcjami if-else, podkreślając jej zalety w czytelności i prostocie przy obsłudze wielu warunków.

Utworzyliśmy proste case switch, obsłużyliśmy różne scenariusze z przypadkiem domyślnym i eksplorowaliśmy zaawansowane funkcje, takie jak switch expressions. Rzeczywiste zastosowanie instrukcji switch zostało zaprezentowane poprzez przykład integracji z IronPDF do dynamicznego przetwarzania PDF, pokazując, jak instrukcje switch mogą być cennym narzędziem w zestawie narzędzi programisty.

IronPDF oferuje bezpłatną wersję próbną do eksploracji funkcji, umożliwiając wypróbowanie jego funkcji i funkcjonalności. Aby kontynuować korzystanie i uzyskać dostęp do pełnego zestawu narzędzi, licencje IronPDF zaczynają się od konkurencyjnego modelu cenowego, oferując kompleksowe rozwiązanie dla wszystkich Twoich potrzeb przetwarzania PDF w C#.

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