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;
continue;
continue
Przykł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 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 Class
W 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);
}
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 number
W 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 label;
GoTo label
Gdzie 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 (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.
dotnet add package IronPdf --version 2024.4.2
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.");
}
}
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.");
}
}
Imports System
Imports System.Threading.Tasks
Imports IronPdf
Class Program
Public Shared Async Function Main() As Task
Console.WriteLine("Generate PDF document Using IronPDF")
' Initialize a ChromePdfRenderer to render HTML content to PDF
Dim htmlToPdf = New ChromePdfRenderer()
Dim content = "<h1>Generate Numbers from 1 to 10, skip 5</h1>"
' Use continue statement to build HTML content
For i As Integer = 0 To 9
If i = 5 Then
Continue For ' Skip appending number 5 to the content
End If
content &= $"<p>{i}</p>"
Next
content &= "<h1>Generate Numbers from 1 to 10, stop at 7</h1>"
' Use break statement to terminate loop at 7
For i As Integer = 0 To 9
If i = 7 Then
Exit For ' Stop appending numbers after 6
End If
content &= $"<p>{i}</p>"
Next
' Render the HTML content as a PDF document
Dim pdf = Await htmlToPdf.RenderHtmlAsPdfAsync(content)
pdf.SaveAs("Awesome IronPDF.pdf")
Console.WriteLine("PDF generated successfully.")
End Function
End Class
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.
Często Zadawane Pytania
Jak działa instrukcja „continue” w języku C#?
Instrukcja „continue” w języku C# jest używana w pętlach w celu pominięcia pozostałego kodu w bieżącej iteracji i przejścia bezpośrednio do następnej iteracji. Jest to przydatne do omijania określonych warunków lub wartości, np. pominięcia liczby 5 w pętli.
Jaka jest rola instrukcji „break” w pętlach?
Instrukcja „break” służy do przedwczesnego wyjścia z pętli po spełnieniu określonego warunku. Jest to przydatne do zatrzymania pętli w określonym momencie, na przykład do zakończenia iteracji po osiągnięciu liczby 6.
Kiedy należy używać instrukcji „goto” w języku C#?
Chociaż instrukcja „goto” pozwala na przejście do oznaczonej sekcji kodu, generalnie nie jest zalecana ze względu na potencjalne problemy z czytelnością. Najlepiej stosować ją w konkretnych sytuacjach, w których inne struktury kontrolne byłyby mniej wydajne lub mniej przejrzyste.
Jak zintegrować IronPDF z projektami C#?
IronPDF można zintegrować z projektami C# za pomocą polecenia dotnet add package IronPdf --version [numer_wersji], co pozwala na tworzenie, edycję i konwersję plików PDF w różnych środowiskach .NET.
Jakie są zalety korzystania z kompleksowej biblioteki PDF w języku C#?
Kompleksowa biblioteka PDF, taka jak IronPDF, wzbogaca aplikacje C#, zapewniając solidne funkcje tworzenia, edycji i konwersji plików PDF. Obsługuje konwersję HTML do PDF i oferuje wsparcie dla wielu platform, co czyni ją wszechstronnym narzędziem dla programistów.
W jaki sposób instrukcje sterujące przepływem mogą usprawnić generowanie plików PDF w języku C#?
Instrukcje sterujące przepływem, takie jak „continue” i „break”, mogą być używane do zarządzania wykonywaniem pętli podczas generowania plików PDF, umożliwiając programistom selektywne dodawanie treści lub zatrzymywanie generowania treści w oparciu o określone warunki podczas korzystania z IronPDF.
Jakie są funkcje kompatybilności IronPDF?
IronPDF jest kompatybilny z różnymi wersjami .NET, w tym .NET Core, .NET Standard i .NET Framework. Obsługuje wiele języków, takich jak C#, VB.NET i F#, oraz integruje się z środowiskami IDE, takimi jak Microsoft Visual Studio i JetBrains Rider.




