
C# Continue (jak to działa dla programistów)
Instrukcje sterowania przepływem są kluczowe w programowaniu, ponieważ określają kolejność wykonywania instrukcji w programie. W C# istnieją trzy podstawowe instrukcje do kontrolowania pętli: 'continue', 'break' i 'goto'. Te instrukcje umożliwiają programistom zmianę przepływu wykonywania w pętlach, co poprawia efektywność i czytelność kodu. W tym artykule zgłębimy szczegóły metod continue i break w C#, badając ich składnię, zastosowania i najlepsze praktyki. Później w artykule poznamy również IronPDF - solidną bibliotekę C# PDF od Iron Software do odczytu i zapisu dokumentów PDF.
Zrozumienie instrukcji 'continue;'
Instrukcja continue jest używana w ramach struktur pętli, aby pominąć pozostały blok kodu i przejść do następnej iteracji pętli. Zasadniczo informuje kontrolę programu o pominięciu pozostałego kodu bieżącej iteracji i przejściu do następnej iteracji.
Składnia
continue;continuePrzykład
public class Program
{
public static void Main()
{
Console.WriteLine("Demonstrate Continue Method in C#");
Console.WriteLine("Print 1 to 10 skipping 5");
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
continue; // Skips iteration when i equals 5
}
Console.WriteLine(i);
}
}
}Public Class Program
Public Shared Sub Main()
Console.WriteLine("Demonstrate Continue Method in C#")
Console.WriteLine("Print 1 to 10 skipping 5")
For i As Integer = 0 To 9
If i = 5 Then
Continue For ' Skips iteration when i equals 5
End If
Console.WriteLine(i)
Next i
End Sub
End ClassW tym przykładzie, gdy i równa się 5, zostaje wykonana instrukcja continue, co powoduje pominięcie pozostałego kodu w pętli dla tej iteracji. W rezultacie liczba 5 nie zostanie wydrukowana, a pętla przejdzie do następnej iteracji.
Wynik

Eksploracja metody 'break;'
W przeciwieństwie do continue, instrukcja break jest używana do przedwczesnego zakończenia pętli. Po napotkaniu przerywa wykonywanie pętli, niezależnie od warunku pętli. Jest często używana do zakończania pętli, takich jak pętla while, wcześniej, jeśli spełniony jest określony warunek.
Przykład
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
foreach (int number in numbers)
{
if (number == 6)
{
break; // Exits loop when number equals 6
}
Console.WriteLine(number);
}Dim numbers() As Integer = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
For Each number As Integer In numbers
If number = 6 Then
Exit For ' Exits loop when number equals 6
End If
Console.WriteLine(number)
Next numberW tym przykładzie pętla iteruje przez tablicę numbers. Po napotkaniu liczby 6 wykonywana jest instrukcja break, co powoduje przedwczesne zakończenie pętli. W rezultacie tylko liczby od 1 do 5 zostaną wydrukowane.
Eksploracja instrukcji 'goto;'
Instrukcja goto w C# pozwala przekazać kontrolę do określonej etykiety w ramach tej samej metody, w ramach tego samego bloku switch, lub tej samej pętli. Choć goto może być potężnym narzędziem do zmiany przepływu wykonywania za pomocą instrukcji skoku, jest często zniechęcana w nowoczesnych praktykach programowania z powodu jej potencjału do zwiększenia trudności czytania i utrzymania kodu. Jednak istnieją sytuacje, w których goto może być używany efektywnie i bezpiecznie.
Składnia
Składnia instrukcji goto w C# jest prostoliniowa:
goto label;GoTo labelGdzie etykieta jest identyfikatorem, po którym następuje dwukropek (:), wskazującym docelowe miejsce w kodzie.
Przykład
Rozważ sytuację, w której chcesz przedwcześnie zakończyć zagnieżdżoną pętlę, gdy spełniony jest określony warunek. Można to osiągnąć za pomocą instrukcji goto:
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
if (i * j > 10)
{
goto exitLoop;
}
Console.WriteLine($"i: {i}, j: {j}");
}
}
exitLoop:
Console.WriteLine("Exited the nested loop prematurely.");For i As Integer = 0 To 4
For j As Integer = 0 To 4
If i * j > 10 Then
GoTo exitLoop
End If
Console.WriteLine($"i: {i}, j: {j}")
Next j
Next i
exitLoop:
Console.WriteLine("Exited the nested loop prematurely.")W tym przykładzie, instrukcja goto przekazuje kontrolę do etykiety exitLoop, gdy spełniony zostanie warunek i * j > 10, skutecznie przerywając zagnieżdżoną pętlę.
Wprowadzenie IronPDF - Wszechstronna Biblioteka PDF od Iron Software.
IronPDF, wyprodukowany przez Iron Software, jest potężną biblioteką C# PDF, która zapewnia wszechstronne rozwiązanie do pracy z PDF w projektach .NET. Nie ważne, czy potrzebujesz stworzyć, edytować, eksportować, zabezpieczyć, załadować czy manipulować dokumentami PDF, IronPDF ma wszystko, czego potrzebujesz. Oto kilka kluczowych funkcji i zastosowań:
- Konwersja HTML do PDF: Bezproblemowo konwertuj treści HTML na format PDF. Możesz generować pliki PDF z HTML, MVC, ASPX, a nawet obrazów.
- Podpisuj, Edytuj i Czytaj PDF: Dzięki ponad 50 funkcjom, IronPDF umożliwia podpisywanie, edytowanie i wydobywanie zawartości z plików PDF. Bez względu na to, czy dodajesz podpisy cyfrowe, czy modyfikujesz istniejące pliki PDF, IronPDF czyni to prostym.
- Wsparcie wieloplatformowe: IronPDF jest zaprojektowany dla C#, F# i VB.NET, działa również na różnych wersjach .NET, w tym .NET Core, .NET Standard i .NET Framework. Jest również dostępny dla Java, Node.js i Python.
- Zgodność i Środowiska:
- Wersje .NET: Wspiera C#, VB.NET i F#.
- Typ projektów: Działa z aplikacjami webowymi (Blazor i WebForms), desktopowymi (WPF i MAUI) oraz konsolowymi.
- Środowiska aplikacji: Kompatybilny z Windows, Linux, Mac, Docker, Azure, AWS i więcej.
- IDE: Integruje się bezproblemowo z Microsoft Visual Studio i JetBrains Rider.
- Systemy operacyjne i Procesory: Działa na Windows, Mac i Linux (x64, x86, ARM).
- Standardy PDF i Edycja:
- Obsługuje różne wersje PDF (1.2 - 1.7), PDF/UA oraz PDF/A.
- Ustawianie właściwości, zabezpieczeń i kompresji dla plików PDF.
- Edycja metadanych, historii revision i struktury dokumentu.
- Stosowanie szablonów stron, nagłówków, stopki i ustawień stron.
- Optymalizacja wydajności:
- Pełne wsparcie dla wielowątkowości i asynchroniczności w celu efektywnego generowania plików PDF.
- Priorytetyzacja dokładności, łatwości użycia i prędkości.
Teraz, gdy znamy już bibliotekę IronPDF, napiszmy aplikację, aby użyć IronPDF oraz instrukcji continue, break i goto.
Generowanie Dokumentu PDF z Użyciem Instrukcji Continue
Najpierw stwórzmy aplikację konsolową Visual Studio.

Podaj nazwę projektu i lokalizację.

Następny krok, wybierz wymaganą wersję .NET i kliknij Utwórz.
Teraz zainstaluj IronPDF używając poniższego polecenia.
Teraz wygenerujmy dokument PDF, używając instrukcji sterujących.
using System;
using System.Threading.Tasks;
using IronPdf;
class Program
{
public static async Task Main()
{
Console.WriteLine("Generate PDF document Using IronPDF");
// Initialize a ChromePdfRenderer to render HTML content to PDF
var htmlToPdf = new ChromePdfRenderer();
var content = "<h1>Generate Numbers from 1 to 10, skip 5</h1>";
// Use continue statement to build HTML content
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
continue; // Skip appending number 5 to the content
}
content += $"<p>{i}</p>";
}
content += "<h1>Generate Numbers from 1 to 10, stop at 7</h1>";
// Use break statement to terminate loop at 7
for (int i = 0; i < 10; i++)
{
if (i == 7)
{
break; // Stop appending numbers after 6
}
content += $"<p>{i}</p>";
}
// Render the HTML content as a PDF document
var pdf = await htmlToPdf.RenderHtmlAsPdfAsync(content);
pdf.SaveAs("Awesome IronPDF.pdf");
Console.WriteLine("PDF generated successfully.");
}
}
Wyjaśnienie kodu
- Inicjalizacja i zdefiniowanie treści: Zaczynamy od zdefiniowania treści HTML, która ma zostać umieszczona w pliku PDF.
- Użycie
continue: W pierwszej pętli używamy instrukcji continue, aby pominąć liczbę 5 podczas generowania liczb od 1 do 10. - Użycie
break: W drugiej pętli używamy instrukcji break do zatrzymania pętli, gdy osiągnięta zostanie liczba 7. - Renderowanie PDF: Używamy obiektu
ChromePdfRendererdo konwersji zawartości HTML na plik PDF i jego zapisania.
Wynik

Najlepsze praktyki i kwestie do rozważenia
- Przejrzystość i czytelność: W większości przypadków użycie strukturalnych instrukcji sterujących przepływem, takich jak break, continue lub zagnieżdżone pętle, może sprawić, że kod będzie bardziej czytelny i zrozumiały. Instrukcje goto mogą utrudniać śledzenie kodu, zwłaszcza w przypadku większych baz kodu lub gdy są używane nadmiernie.
- Unikanie niezamierzonych konsekwencji: Niewłaściwe użycie goto może prowadzić do powstania kodu typu spaghetti i utrudniać zrozumienie zachowania programu. Konieczne jest rozważne stosowanie instrukcji goto oraz zapewnienie, że jej użycie jest jasne i dobrze udokumentowane.
- Obsługa błędów: Jednym z typowych zastosowań goto są scenariusze obsługi błędów, gdzie można go użyć do przejścia do procedury czyszczącej lub obsługującej błędy. Jednak nowoczesne kody C# często wykorzystują do obsługi błędów strukturalną obsługę wyjątków (try-catch-finally), co zapewnia bardziej uporządkowane i czytelne podejście.
- Uwagi dotyczące wydajności: Pod względem wydajności goto ma zazwyczaj minimalny wpływ. Jednak w przypadku goto najważniejsze są łatwość utrzymania i czytelność, a nie wydajność.
Licencja (dostępna wersja próbna)
Zapoznaj się ze szczegółami licencji IronPDF.
Dostępna jest wersja próbna dla programistów. Uzyskaj Licencję Trial.
Proszę zastąpić klucz w pliku appSettings.json pokazanym poniżej.
{
"IronPdf.License.LicenseKey": "The Key Here"
}
Wnioski
Podsumowując, metody continue i break są niezbędnymi narzędziami do kontrolowania wykonywania pętli w języku C#. Strategiczne włączenie tych instrukcji do kodu pozwala zwiększyć jego wydajność, czytelność i łatwość konserwacji. Chociaż instrukcja goto w języku C# zapewnia mechanizm zmiany przebiegu wykonywania, należy podchodzić do jej stosowania z ostrożnością. W większości przypadków strukturalne instrukcje sterujące przepływem, takie jak break, continue lub zagnieżdżone pętle, oferują bardziej przejrzyste i łatwiejsze w utrzymaniu rozwiązania. Istnieją jednak niszowe scenariusze, w których goto może być używane skutecznie i bezpiecznie, na przykład w niektórych sytuacjach związanych z obsługą błędów. Podobnie jak w przypadku każdej konstrukcji programistycznej, przy podejmowaniu decyzji o użyciu goto kluczowe znaczenie ma rozważenie kompromisów oraz uwzględnienie czytelności i łatwości utrzymania kodu.
W połączeniu z biblioteką IronPDF — kompleksowymi rozwiązaniami do obsługi plików PDF firmy Iron Software — programiści mogą zdobyć zaawansowane umiejętności potrzebne do tworzenia nowoczesnych aplikacji.

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.
Powiązane artykuły


