Przejdź do treści stopki
POMOC .NET

C# If (Jak to działa dla programistów)

W tym samouczku omówimy koncepcje instrukcji if i else oraz sposoby ich efektywnego wykorzystania w programach napisanych w języku C#. Zajmiemy się również powiązanymi pojęciami, takimi jak wyrażenia boolowskie i operatory warunkowe. Zacznijmy więc od razu!

Zrozumienie instrukcji if

Instrukcja if jest podstawową koncepcją w programowaniu. Służy do podejmowania decyzji w kodzie na podstawie określonego warunku. Podstawowa składnia instrukcji if w języku C# jest następująca:

if (Boolean expression)
{
    // Statements to execute if the Boolean expression is true
}
if (Boolean expression)
{
    // Statements to execute if the Boolean expression is true
}
If Boolean expression Then
	' Statements to execute if the Boolean expression is true
End If
$vbLabelText   $csharpLabel

Instrukcja if sprawdza, czy podane wyrażenie logiczne daje w wyniku true. Jeśli tak się stanie, kod wewnątrz bloku instrukcji (kod ujęty w nawiasy klamrowe) zostanie wykonany. Jeśli wyrażenie boolowskie zwraca wartość false, kod wewnątrz bloku instrukcji jest pomijany.

Moc instrukcji if-else

A co, jeśli chcesz wykonać jakiś inny kod, gdy warunek if jest fałszywy? W tym miejscu do gry wkracza opcjonalna instrukcja else. Składnia instrukcji if-else w języku C# wygląda następująco:

if (Boolean expression)
{
    // Statements to execute if the Boolean expression is true
}
else
{
    // Statements to execute if the Boolean expression is false
}
if (Boolean expression)
{
    // Statements to execute if the Boolean expression is true
}
else
{
    // Statements to execute if the Boolean expression is false
}
If Boolean expression Then
	' Statements to execute if the Boolean expression is true
Else
	' Statements to execute if the Boolean expression is false
End If
$vbLabelText   $csharpLabel

W powyższym przypadku, jeśli wyrażenie boolowskie zwraca wartość true, wykonywany jest kod w bloku if. Jeśli wynik wynosi false, zamiast tego wykonywany jest kod z bloku else.

Prosty przykład

Zobaczmy praktyczny przykład użycia instrukcji if-else w języku C#. Wyobraź sobie, że piszesz program sprawdzający, czy dana osoba ma prawo do głosowania. W większości krajów wiek uprawniający do głosowania wynosi 18 lat.

Poniższy przykład pokazuje, jak użyć instrukcji if-else do określenia uprawnień do głosowania:

using System;

class Program
{
    static void Main(string[] args)
    {
        int age = 21;

        if (age >= 18)
        {
            Console.WriteLine("You are eligible to vote!");
        }
        else
        {
            Console.WriteLine("Sorry, you are not eligible to vote.");
        }
    }
}
using System;

class Program
{
    static void Main(string[] args)
    {
        int age = 21;

        if (age >= 18)
        {
            Console.WriteLine("You are eligible to vote!");
        }
        else
        {
            Console.WriteLine("Sorry, you are not eligible to vote.");
        }
    }
}
Imports System

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim age As Integer = 21

		If age >= 18 Then
			Console.WriteLine("You are eligible to vote!")
		Else
			Console.WriteLine("Sorry, you are not eligible to vote.")
		End If
	End Sub
End Class
$vbLabelText   $csharpLabel

W powyższym kodzie najpierw deklarujemy zmienną typu integer o nazwie age i przypisujemy jej wartość 21. Następnie używamy instrukcji if-else, aby sprawdzić, czy wiek jest większy lub równy 18. Jeśli warunek jest prawdziwy, program PRINTuje na konsoli komunikat "Masz prawo głosować!". Jeśli jest fałszywa, PRINTuje komunikat "Przykro nam, nie masz prawa do głosowania".

Praca z wyrażeniami boolowskimi

W języku C# można używać różnych typów wyrażeń boolowskich do tworzenia bardziej złożonych warunków. Niektóre powszechnie używane operatory warunkowe to:

  • ==: Równość
  • !=: Nierówność
  • <: Mniej niż
  • >: Większe niż
  • <=: Mniej lub równo
  • >=: Większe lub równe

Przyjrzyjmy się przykładowi. Załóżmy, że chcesz napisać program, który sprawdza, czy liczba jest dodatnia, ujemna czy równa zero. Poniższy fragment kodu wykorzystuje instrukcje if i operatory warunkowe, aby to osiągnąć:

using System;

class Program
{
    static void Main(string[] args)
    {
        int number = 0;

        if (number > 0)
        {
            Console.WriteLine("The number is positive.");
        }
        else if (number < 0)
        {
            Console.WriteLine("The number is negative.");
        }
        else
        {
            Console.WriteLine("The number is zero.");
        }
    }
}
using System;

class Program
{
    static void Main(string[] args)
    {
        int number = 0;

        if (number > 0)
        {
            Console.WriteLine("The number is positive.");
        }
        else if (number < 0)
        {
            Console.WriteLine("The number is negative.");
        }
        else
        {
            Console.WriteLine("The number is zero.");
        }
    }
}
Imports System

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim number As Integer = 0

		If number > 0 Then
			Console.WriteLine("The number is positive.")
		ElseIf number < 0 Then
			Console.WriteLine("The number is negative.")
		Else
			Console.WriteLine("The number is zero.")
		End If
	End Sub
End Class
$vbLabelText   $csharpLabel

W powyższym przykładzie najpierw deklarujemy zmienną typu integer o nazwie number i przypisujemy jej wartość 0. Następnie używamy instrukcji if, aby sprawdzić, czy liczba jest większa od 0. W przypadku wartości true PRINTujemy komunikat "Liczba jest dodatnia". W przypadku wartości fałszywej przechodzimy do instrukcji else if, która sprawdza, czy liczba jest mniejsza od 0. Jeśli warunek ten jest prawdziwy, wyświetlamy komunikat "Liczba jest ujemna". Wreszcie, jeśli żadne z poprzednich warunków nie jest spełnione, dochodzimy do bloku else, który wyświetla komunikat "Liczba wynosi zero".

Łączenie warunków za pomocą operatorów logicznych

W niektórych przypadkach może być konieczne sprawdzenie wielu warunków jednocześnie. Język C# udostępnia operatory logiczne, które pomogą Ci to osiągnąć. Najczęściej używane operatory logiczne to:

  • &&: Logiczne AND
  • ||: Logiczne OR
  • !: Logiczne NOT

Zobaczmy przykład użycia operatorów logicznych w instrukcjach if. Wyobraź sobie, że piszesz program, który ma sprawdzić, czy dana osoba kwalifikuje się do specjalnej zniżki w sklepie. Zniżka przysługuje klientom, którzy są seniorami (w wieku 65 lat lub starszymi) lub studentami (w wieku od 18 do 25 lat). Oto fragment kodu pokazujący, jak używać instrukcji if-else w języku C# z operatorami logicznymi do sprawdzania uprawnień do zniżki:

using System;

class Program
{
    static void Main(string[] args)
    {
        int age = 23;
        bool isStudent = true;

        if ((age >= 65) || (isStudent && (age >= 18 && age <= 25)))
        {
            Console.WriteLine("You are eligible for the discount!");
        }
        else
        {
            Console.WriteLine("Sorry, you are not eligible for the discount.");
        }
    }
}
using System;

class Program
{
    static void Main(string[] args)
    {
        int age = 23;
        bool isStudent = true;

        if ((age >= 65) || (isStudent && (age >= 18 && age <= 25)))
        {
            Console.WriteLine("You are eligible for the discount!");
        }
        else
        {
            Console.WriteLine("Sorry, you are not eligible for the discount.");
        }
    }
}
Imports System

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim age As Integer = 23
		Dim isStudent As Boolean = True

		If (age >= 65) OrElse (isStudent AndAlso (age >= 18 AndAlso age <= 25)) Then
			Console.WriteLine("You are eligible for the discount!")
		Else
			Console.WriteLine("Sorry, you are not eligible for the discount.")
		End If
	End Sub
End Class
$vbLabelText   $csharpLabel

W powyższym kodzie najpierw deklarujemy zmienną całkowitą o nazwie age oraz zmienną logiczną o nazwie isStudent. Następnie używamy instrukcji if-else z operatorami logicznymi, aby sprawdzić, czy dana osoba kwalifikuje się do zniżki. Jeśli osoba ma 65 lat lub więcej albo jest studentem w wieku od 18 do 25 lat, program wyświetla komunikat "Kwalifikujesz się do zniżki!". W przeciwnym razie wyświetla komunikat "Przykro nam, nie kwalifikujesz się do zniżki".

Generowanie plików PDF za pomocą IronPDF: praktyczne zastosowanie instrukcji if-else

Teraz, gdy dobrze rozumiesz instrukcję if-else w języku C#, przyjrzyjmy się praktycznemu zastosowaniu biblioteki IronPDF, która pozwala na płynną pracę z plikami PDF w aplikacjach napisanych w języku C#.

IronPDF to potężna biblioteka .NET, która pozwala tworzyć, edytować i wyodrębniać zawartość z plików PDF w aplikacjach napisanych w języku C#.

W tym przykładzie stworzymy prosty generator faktur w formacie PDF, który stosuje różne stawki podatkowe w zależności od lokalizacji klienta. Ten scenariusz stanowi doskonałą okazję do wykorzystania instrukcji if-else.

Najpierw zainstaluj IronPDF za pomocą NuGet, uruchamiając następujące polecenie:

Install-Package IronPdf

Następnie stwórzmy prosty program, który generuje fakturę z różnymi stawkami podatkowymi dla klientów z różnych regionów:

using System;
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        string customerLocation = "Europe";
        double taxRate;

        // Determine tax rate based on customer location
        if (customerLocation == "USA")
        {
            taxRate = 0.07;
        }
        else if (customerLocation == "Europe")
        {
            taxRate = 0.20;
        }
        else
        {
            taxRate = 0.15;
        }

        double productPrice = 100.0;
        double totalTax = productPrice * taxRate;
        double totalPrice = productPrice + totalTax;

        string invoiceContent = $@"
            <h1>Invoice</h1>
            <p>Product Price: ${productPrice}</p>
            <p>Tax Rate: {taxRate * 100}%</p>
            <p>Total Tax: ${totalTax}</p>
            <p>Total Price: ${totalPrice}</p>
        ";

        // Render the HTML content to a PDF document using IronPDF
        var pdf = new ChromePdfRenderer();
        var document = pdf.RenderHtmlAsPdf(invoiceContent);
        document.SaveAs("Invoice.pdf"); // Save the PDF file locally
    }
}
using System;
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        string customerLocation = "Europe";
        double taxRate;

        // Determine tax rate based on customer location
        if (customerLocation == "USA")
        {
            taxRate = 0.07;
        }
        else if (customerLocation == "Europe")
        {
            taxRate = 0.20;
        }
        else
        {
            taxRate = 0.15;
        }

        double productPrice = 100.0;
        double totalTax = productPrice * taxRate;
        double totalPrice = productPrice + totalTax;

        string invoiceContent = $@"
            <h1>Invoice</h1>
            <p>Product Price: ${productPrice}</p>
            <p>Tax Rate: {taxRate * 100}%</p>
            <p>Total Tax: ${totalTax}</p>
            <p>Total Price: ${totalPrice}</p>
        ";

        // Render the HTML content to a PDF document using IronPDF
        var pdf = new ChromePdfRenderer();
        var document = pdf.RenderHtmlAsPdf(invoiceContent);
        document.SaveAs("Invoice.pdf"); // Save the PDF file locally
    }
}
Imports System
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim customerLocation As String = "Europe"
		Dim taxRate As Double

		' Determine tax rate based on customer location
		If customerLocation = "USA" Then
			taxRate = 0.07
		ElseIf customerLocation = "Europe" Then
			taxRate = 0.20
		Else
			taxRate = 0.15
		End If

		Dim productPrice As Double = 100.0
		Dim totalTax As Double = productPrice * taxRate
		Dim totalPrice As Double = productPrice + totalTax

		Dim invoiceContent As String = $"
            <h1>Invoice</h1>
            <p>Product Price: ${productPrice}</p>
            <p>Tax Rate: {taxRate * 100}%</p>
            <p>Total Tax: ${totalTax}</p>
            <p>Total Price: ${totalPrice}</p>
        "

		' Render the HTML content to a PDF document using IronPDF
		Dim pdf = New ChromePdfRenderer()
		Dim document = pdf.RenderHtmlAsPdf(invoiceContent)
		document.SaveAs("Invoice.pdf") ' Save the PDF file locally
	End Sub
End Class
$vbLabelText   $csharpLabel

W tym przykładzie kodu używamy instrukcji if-else do określenia odpowiedniej stawki podatkowej na podstawie lokalizacji klienta. Tworzymy fakturę w formacie PDF na podstawie ciągu znaków HTML przy użyciu IronPDF. W języku C# możemy wykorzystać listę C# do przechowywania i manipulowania elementami, takimi jak ceny produktów.

C# If (Jak to działa dla programistów) Rysunek 1

Wnioski

W tym samouczku omówiliśmy podstawy instrukcji if-else w języku C#, zapoznaliśmy się z różnymi operatorami warunkowymi i logicznymi oraz przeanalizowaliśmy praktyczne przykłady, aby lepiej zrozumieć tę koncepcję. Zaprezentowaliśmy nawet praktyczne zastosowanie przy użyciu potężnej biblioteki IronPDF, która oferuje bezpłatną wersję próbną i opcje licencyjne.

Pamiętaj, że praktyka ma kluczowe znaczenie, jeśli chodzi o opanowanie pojęć programistycznych. Eksperymentuj z różnymi scenariuszami, wykorzystując nowo zdobytą wiedzę na temat instrukcji if-else i innych powiązanych pojęć.

Często Zadawane Pytania

Jaki jest cel instrukcji if w C#?

Instrukcja if w C# jest używana do wykonania bloku kodu tylko wtedy, gdy określony warunek logiczny jest spełniony. Jest to niezbędne do podejmowania decyzji w programie.

Jak instrukcje if-else zwiększają możliwości programowania w C#?

Instrukcje if-else w C# pozwalają programistom na wykonanie różnych bloków kodu w zależności od tego, czy warunek jest prawdziwy, czy fałszywy, co jest kluczowe dla obsługi różnych scenariuszy logicznych w programowaniu.

Jaką rolę odgrywają wyrażenia logiczne w instrukcjach warunkowych C#?

Wyrażenia logiczne są kluczowe w instrukcjach warunkowych C# ponieważ to one określają wartość logiczną, która kontroluje przepływ wykonania w konstrukcjach if i if-else.

Które operatory warunkowe są powszechnie używane w C#?

Powszechne operatory warunkowe w C# to '==', '!=', '<', '>', '<=' i '>='. Operatory te służą do oceny warunków w instrukcjach if.

Jak można wykorzystać operatory logiczne z instrukcjami if w C#?

Operatory logiczne, takie jak '&&' (AND), '||' (OR) i '!' (NOT), można używać w ramach instrukcji if do łączenia wielu warunków, co umożliwia ocenę złożonej logiki w C#.

Jak można zastosować logikę warunkową przy generowaniu PDF za pomocą C#?

Logika warunkowa z instrukcjami if-else może być używana przy generowaniu PDF do stosowania różnych formatów lub zawartości w zależności od określonych warunków, co umożliwia dynamiczne tworzenie dokumentów.

Czy możesz podać przykład użycia instrukcji if-else z operatorami logicznymi?

Przykład użycia instrukcji if-else z operatorami logicznymi to sprawdzanie uprawnień do zniżek w oparciu o kryteria wiekowe, takie jak kwalifikowanie się jako senior lub student.

Jaki jest praktyczny sposób na przećwiczenie użycia instrukcji if-else w C#?

Jednym z praktycznych sposobów przećwiczenia instrukcji if-else jest tworzenie małych programów, które obejmują logikę podejmowania decyzji, na przykład określenie uprawnień do głosowania w zależności od wieku.

Jak instrukcje if-else mogą zarządzać stawkami podatkowymi w generatorze faktur PDF?

W generatorze faktur PDF instrukcje if-else mogą być używane do stosowania różnych stawek podatkowych w zależności od warunków, takich jak lokalizacja lub typ klienta, co zwiększa dokładność i funkcjonalność faktur.

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ą...

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie