Passer au contenu du pied de page
.NET AIDE

C# Continue (Comment ça fonctionne pour les développeurs)

Les instructions de contrôle de flux sont cruciales en programmation, car elles dictent la séquence d'exécution des instructions au sein d'un programme. En C#, trois instructions fondamentales pour contrôler les boucles sont 'continue', 'break' et 'goto'. Ces instructions permettent aux programmeurs de modifier le flux d'exécution au sein des boucles, améliorant ainsi l'efficacité et la lisibilité du code. Dans cet article, nous examinons les subtilités des méthodes continue et break en C#, en explorant leur syntaxe, leurs applications et les meilleures pratiques. Later in the article, we will also learn about IronPDF - a robust C# PDF library from Iron Software to read and write PDF documents.

Comprendre l'instruction 'continue;'

L'instruction continue est utilisée dans les structures de boucle pour ignorer le bloc de code restant et passer à l'itération suivante de la boucle. Elle indique essentiellement au programme de contrôler d'ignorer le reste du code de l'itération actuelle et de passer à l'itération suivante.

Syntaxee

continue;
continue;
continue
$vbLabelText   $csharpLabel

Exemple

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
$vbLabelText   $csharpLabel

Dans cet exemple, lorsque i est égal à 5, l'instruction continue est exécutée, sautant le reste du code dans la boucle pour cette itération. En conséquence, le nombre 5 ne sera pas imprimé, et la boucle passera à l'itération suivante.

Sortie

C# Continue (How It Works For Developers) : Figure 1 - Sortie console montrant que le cas 5 est ignoré en raison de l'instruction continue

Explorer la méthode 'break;'

Contrairement à continue, l'instruction break est utilisée pour sortir prématurément d'une boucle. Lorsqu'elle est rencontrée, elle met fin à l'exécution de la boucle, indépendamment de la condition de la boucle. Elle est couramment utilisée pour sortir d'une boucle telle qu'une boucle while, tôt si une certaine condition est remplie.

Exemple

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
$vbLabelText   $csharpLabel

Dans cet exemple, la boucle parcourt le tableau numbers. Quand elle rencontre le numéro 6, l'instruction break est exécutée, provoquant l'arrêt prématuré de la boucle. En conséquence, seuls les nombres de 1 à 5 seront imprimés.

Explorer l'instruction 'goto'

L'instruction goto en C# permet de transférer le contrôle à une étiquette spécifiée dans la même méthode, dans la même instruction switch ou dans la même boucle. Bien que goto puisse être un outil puissant pour modifier le flux d'exécution vers des déclarations de saut, il est souvent déconseillé dans les pratiques de programmation modernes en raison de son potentiel à rendre le code moins lisible et maintenable. Cependant, il existe des situations où goto peut être utilisé efficacement et en toute sécurité.

Syntaxe

La syntaxe de l'instruction goto en C# est simple :

goto label;
goto label;
GoTo label
$vbLabelText   $csharpLabel

Où l'étiquette est un identifiant suivi d'un deux-points (:), indiquant l'emplacement cible dans le code.

Exemple

Envisagez un scénario où vous souhaitez sortir prématurément d'une boucle imbriquée lorsque qu'une condition spécifique est remplie. Vous pouvez y parvenir en utilisant une instruction 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.")
$vbLabelText   $csharpLabel

Dans cet exemple, l'instruction goto transfère le contrôle à l'étiquette exitLoop lorsque la condition i * j > 10 est remplie, brisant efficacement la boucle imbriquée.

Introducing IronPDF - Comprehensive PDF Library from Iron Software.

IronPDF, développé par Iron Software, est une puissante bibliothèque PDF C# qui fournit une solution tout-en-un pour travailler avec des PDFs dans des projets .NET. Que vous ayez besoin de créer, éditer, exporter, sécuriser, charger ou manipuler des documents PDF, IronPDF a tout ce qu'il vous faut. Voici quelques caractéristiques clés et cas d'utilisation :

  1. Conversion HTML en PDF : Convertissez facilement le contenu HTML au format PDF. Vous pouvez générer des PDFs à partir de HTML, MVC, ASPX et même des images.
  2. Signer, éditer et lire des PDFs : Avec plus de 50 fonctionnalités, IronPDF vous permet de signer, éditer et extraire le contenu des fichiers PDF. Que vous ajoutiez des signatures numériques ou modifiez des PDFs existants, IronPDF rend cela simple.
  3. Support multiplateforme : IronPDF est conçu pour C#, F# et VB.NET, et fonctionne sur diverses versions de .NET, y compris .NET Core, .NET Standard et le .NET Framework. Il est également disponible pour Java, Node.js et Python.
  4. Compatibilité et environnements :
    • Versions .NET : Prend en charge C#, VB.NET et F#.
    • Types de projet : Fonctionne avec les applications web (Blazor & WebForms), de bureau (WPF & MAUI) et console.
    • Environnements d'application : Compatible avec Windows, Linux, Mac, Docker, Azure, AWS, et plus.
    • IDEs : S'intègre parfaitement à Microsoft Visual Studio et JetBrains Rider.
    • Systèmes d'exploitation & Processeurs : Fonctionne sur Windows, Mac et Linux (x64, x86, ARM).
  5. Normes et édition PDF :
    • Prend en charge les diverses versions PDF (1.2 - 1.7), PDF/UA, et PDF/A.
    • Définissez les propriétés, la sécurité et la compression des fichiers PDF.
    • Éditez les métadonnées, l'historique des révisions, et la structure du document.
    • Appliquez des modèles de page, des en-têtes, des pieds de page, et des paramètres de page.
  6. Optimisation des performances :
    • Support complet du multithreading et asynchrone pour une génération PDF efficace.
    • Priorise l'exactitude, la facilité d'utilisation, et la rapidité.

Maintenant que nous sommes au courant de la bibliothèque IronPDF, écrivons une application pour utiliser IronPDF et les instructions continue, break, et goto.

Générer un document PDF en utilisant l'instruction Continue

Tout d'abord, créons une application console Visual Studio.

C# Continue (How It Works For Developers): Figure 2 - Création d'une application console Visual Studio

Fournissez le nom et l'emplacement du projet.

C# Continue (How It Works For Developers): Figure 3 - Fournissez le nom du projet

Étape suivante, sélectionnez la version .NET requise et cliquez sur Créer.

Installez maintenant IronPDF à l'aide de la commande ci-dessous.

dotnet add package IronPdf --version 2024.4.2

Maintenant, générons un document PDF en utilisant les instructions de contrôle.

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
$vbLabelText   $csharpLabel

Explication du code

  1. Initialiser et définir le contenu : Nous commençons par définir le contenu HTML à inclure dans le PDF.
  2. Utilisation de continue : Dans la première boucle, nous utilisons l'instruction continue pour ignorer le numéro 5 lors de la génération des nombres de 1 à 10.
  3. Utilisation de break : Dans la seconde boucle, nous utilisons l'instruction break pour arrêter la boucle une fois que le numéro 7 est atteint.
  4. Rendu du PDF : Nous utilisons un objet ChromePdfRenderer pour convertir le contenu HTML en un fichier PDF et le sauvegarder.

Sortie

C# Continue (How It Works For Developers): Figure 4 - Exemple de sortie montrant comment la méthode continue et break fonctionne

Meilleures pratiques et considérations

  1. Clarté et lisibilité : Dans la plupart des cas, utiliser des instructions de flux de contrôle structurées comme break, continue, ou les boucles imbriquées peut rendre votre code plus lisible et compréhensible. Les instructions goto peuvent rendre le code plus difficile à suivre, particulièrement pour les grandes bases de code ou lorsqu'elles sont utilisées de manière excessive.
  2. Éviter les conséquences inattendues : Une mauvaise utilisation de goto peut entraîner un code spaghetti et rendre difficile de raisonner sur le comportement du programme. Il est essentiel d'utiliser goto de manière judicieuse et de s'assurer que son utilisation est claire et bien documentée.
  3. Gestion des erreurs : Un cas d'utilisation courant pour goto est dans les scénarios de gestion des erreurs, où il peut être utilisé pour accéder à une routine de nettoyage ou de gestion des erreurs. Cependant, les bases de code C# modernes utilisent souvent un traitement structuré des exceptions (try-catch-finally) pour la gestion des erreurs, ce qui offre une approche plus structurée et lisible.
  4. Considérations de performance : En termes de performance, goto a généralement un impact minimal. Cependant, la principale préoccupation avec goto est la maintenabilité et la lisibilité plutôt que la performance.

Licence (Essai disponible)

Explorer les détails de la licence IronPDF.

Une licence d'essai de développeur est disponible Obtenez une licence d'essai.

Veuillez remplacer la clé dans le fichier appSettings.json montré ci-dessous.

{
  "IronPdf.License.LicenseKey": "The Key Here"
}

Conclusion

En conclusion, les méthodes continue et break sont des outils indispensables pour contrôler l'exécution des boucles en C#. En intégrant stratégiquement ces instructions dans votre code, vous pouvez améliorer son efficacité, sa lisibilité et sa maintenabilité. Bien que l'instruction goto en C# fournisse un mécanisme pour modifier le flux d'exécution, son utilisation doit être abordée avec prudence. Dans la plupart des cas, des instructions de flux de contrôle structurées comme break, continue, ou les boucles imbriquées offrent des solutions plus claires et plus maintenables. Cependant, il existe des scénarios de niche où goto peut être utilisé efficacement et en toute sécurité, comme dans certaines situations de gestion des erreurs. Comme pour toute construction de programmation, il est crucial de peser les compromis et de considérer la lisibilité et la maintenabilité du code lors de la décision d'utiliser goto.

Together with IronPDF - Comprehensive PDF Solutions library from Iron Software, developers can gain advanced skills to develop modern applications.

Questions Fréquemment Posées

Comment fonctionne l'instruction 'continue' en C# ?

L'instruction 'continue' en C# est utilisée dans les boucles pour sauter le code restant de l'itération en cours et passer directement à l'itération suivante. Cela est utile pour contourner certaines conditions ou valeurs, comme ignorer le numéro 5 dans une boucle.

Quel est le rôle de l'instruction 'break' dans les boucles ?

L'instruction 'break' est utilisée pour quitter prématurément une boucle lorsqu'une condition spécifique est remplie. Cela est utile pour arrêter la boucle à un certain point, comme cesser les itérations après avoir atteint le numéro 6.

Quand devez-vous utiliser l'instruction 'goto' en C# ?

Bien que l'instruction 'goto' vous permette de sauter à une section de code étiquetée, son utilisation est généralement déconseillée en raison des problèmes potentiels de lisibilité. Elle doit être utilisée dans des scénarios spécifiques où d'autres structures de contrôle seraient moins efficaces ou claires.

Comment IronPDF peut-il être intégré dans des projets C# ?

IronPDF peut être intégré dans des projets C# en utilisant la commande dotnet add package IronPdf --version [version_number], permettant la création, l'édition et la conversion de PDF dans divers environnements .NET.

Quels sont les avantages d'utiliser une bibliothèque PDF complète en C# ?

Une bibliothèque PDF complète comme IronPDF améliore les applications C# en offrant des fonctionnalités robustes de création, d'édition et de conversion de PDF. Elle prend en charge la conversion de HTML en PDF et offre une compatibilité multiplateforme, ce qui en fait un outil polyvalent pour les développeurs.

Comment les instructions de contrôle de flux peuvent-elles améliorer la génération de PDF en C# ?

Les instructions de contrôle de flux comme 'continue' et 'break' peuvent être utilisées pour gérer l'exécution des boucles lors de la génération de PDF, permettant aux développeurs d'ajouter sélectivement du contenu ou d'arrêter la génération de contenu en fonction de conditions spécifiques lors de l'utilisation de IronPDF.

Quelles sont les fonctionnalités de compatibilité de IronPDF ?

IronPDF est compatible avec différentes versions de .NET, y compris .NET Core, .NET Standard et .NET Framework. Il prend en charge plusieurs langues comme C#, VB.NET et F#, et s'intègre avec des IDE comme Microsoft Visual Studio et JetBrains Rider.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite