C# Continue (jak to działa dla programistów)
Instrukcje sterowania przepływem są kluczowe w programowaniu, ponieważ dyktują sekwencję wykonywania instrukcji w programie. W języku C# trzy podstawowe instrukcje do sterowania pętlami to 'continue', 'break' i 'goto'. Te instrukcje dają programistom możliwość zmiany przepływu wykonywania w pętlach, zwiększając efektywność i czytelność kodu. W tym artykule zagłębiamy się w zawiłości metod continue i break w języku C#, badając ich składnię, zastosowania i najlepsze praktyki. W dalszej części artykułu zapoznamy się również z IronPDF — solidną biblioteką PDF dla C# firmy Iron Software do odczytu i zapisu dokumentów PDF.
Zrozumienie instrukcji 'continue;'
Instrukcja continue jest używana wewnątrz struktur pętli, aby pominąć pozostały blok kodu i przejść do następnej iteracji pętli. Zasadniczo nakazuje sterowaniu programu pominięcie pozostałego kodu bieżącej iteracji i przejście do następnej.
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 wynosi 5, instrukcja continue jest wykonywana, pomijając pozostały kod w pętli dla tej iteracji. W rezultacie liczba 5 nie zostanie wyświetlona, a pętla przechodzi do następnej iteracji.
Wynik

Badanie metody 'break;'
W przeciwieństwie do continue, instrukcja break służy do przedwczesnego wyjścia z pętli. Po napotkaniu kończy wykonywanie pętli, niezależnie od warunku pętli. Jest powszechnie używana do wcześniejszego wyjścia z pętli, takiej jak pętla while, 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. Gdy napotka liczbę 6, instrukcja break jest wykonywana, powodując przedwczesne zakończenie pętli. W rezultacie wydrukowane zostaną tylko liczby od 1 do 5.
Badanie instrukcji 'goto;'
Instrukcja goto w języku C# zapewnia sposób na przeniesienie sterowania do określonej etykiety w tej samej metodzie, w tej samej instrukcji switch lub w tej samej pętli. Chociaż goto może być potężnym narzędziem do zmiany przepływu wykonywania do instrukcji skoku, jest często odradzane we współczesnych praktykach programowania ze względu na potencjalne zmniejszenie czytelności i łatwości utrzymania kodu. Istnieją jednak sytuacje, w których goto może być używane skutecznie i bezpiecznie.
Składnia
Składnia instrukcji goto w języku C# jest prosta:
goto label;
goto label;
GoTo label
Gdzie etykieta to identyfikator poprzedzony dwukropkiem (:), wskazujący docelową lokalizację w kodzie.
Przykład
Rozważmy scenariusz, w którym chcemy przedwcześnie wyjść z zagnieżdżonej pętli, 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 przenosi sterowanie do etykiety exitLoop, gdy spełniony jest warunek i * j > 10, skutecznie wychodząc z zagnieżdżonej pętli.
Introducing IronPDF - Comprehensive PDF Library from Iron Software.
IronPDF, developed by Iron Software, is a powerful C# PDF library that provides an all-in-one solution for working with PDFs in .NET projects. Whether you need to create, edit, export, secure, load, or manipulate PDF documents, IronPDF has got you covered. Here are some key features and use cases:
- HTML to PDF Conversion: Convert HTML content to PDF format seamlessly. You can generate PDFs from HTML, MVC, ASPX, and even images.
- Sign, Edit, and Read PDFs: With over 50 features, IronPDF enables you to sign, edit, and extract content from PDF files. Whether you're adding digital signatures or modifying existing PDFs, IronPDF makes it straightforward.
- Cross-Platform Support: IronPDF is designed for C#, F#, and VB.NET, and it runs on various .NET versions, including .NET Core, .NET Standard, and .NET Framework. It's also available for Java, Node.js, and Python.
- Compatibility and Environments:
- .NET Versions: Supports C#, VB.NET, and F#.
- Project Types: Works with web (Blazor & WebForms), desktop (WPF & MAUI), and console applications.
- App Environments: Compatible with Windows, Linux, Mac, Docker, Azure, AWS, and more.
- IDEs: Integrates seamlessly with Microsoft Visual Studio and JetBrains Rider.
- OS & Processors: Runs on Windows, Mac, and Linux (x64, x86, ARM).
- PDF Standards and Editing:
- Supports various PDF versions (1.2 - 1.7), PDF/UA, and PDF/A.
- Set properties, security, and compression for PDF files.
- Edit metadata, revision history, and document structure.
- Apply page templates, headers, footers, and page settings.
- Performance Optimization:
- Full multithreading and async support for efficient PDF generation.
- Prioritizes accuracy, ease of use, and speed.
Teraz, gdy znamy bibliotekę IronPDF, napiszmy aplikację wykorzystującą IronPDF oraz instrukcje continue, break i goto.
Generowanie dokumentu PDF za pomocą instrukcji Continue
Najpierw utwórzmy aplikację konsolową Visual Studio.

Podaj nazwę projektu i lokalizację.

Następnie wybierz wymaganą wersję .NET i kliknij Utwórz.
Teraz zainstaluj IronPDF za pomocą poniższego polecenia.
dotnet add package IronPdf --version 2024.4.2
Teraz wygenerujmy dokument PDF przy użyciu 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("AwesomeIronPDF.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("AwesomeIronPDF.pdf");
Console.WriteLine("PDF generated successfully.");
}
}
Imports System
Imports System.Threading.Tasks
Imports IronPdf
Friend 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 i
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 i
' Render the HTML content as a PDF document
Dim pdf = Await htmlToPdf.RenderHtmlAsPdfAsync(content)
pdf.SaveAs("AwesomeIronPDF.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 przy generowaniu liczb od 1 do 10. - Użycie
break: W drugiej pętli używamy instrukcji break, aby zatrzymać pętlę po osiągnięciu liczby 7. - Renderowanie PDF: Używamy obiektu
ChromePdfRendererdo konwersji zawartości HTML do pliku 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.




