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. Plus tard dans l'article, nous apprendrons également à propos de IronPDF - une bibliothèque PDF C# robuste de Iron Software pour lire et écrire des documents PDF.

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;
$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);
        }
    }
}
$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);
}
$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;
$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.");
$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.

Présentation de IronPDF - Bibliothèque PDF complète de 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 vers 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, modifier et lire des PDF : Avec plus de 50 fonctionnalités , IronPDF vous permet de signer, de modifier et d'extraire le contenu de fichiers PDF. Que vous ajoutiez des signatures numériques ou modifiez des PDFs existants, IronPDF rend cela simple.
  3. Prise en charge multiplateforme : IronPDF est conçu pour C#, F# et VB.NET, et il fonctionne sur différentes versions de .NET, notamment .NET Core, .NET Standard et .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 projets : Fonctionne avec les applications web (Blazor et WebForms), les applications de bureau (WPF et MAUI) et les applications console.
    • Environnements d'application : Compatible avec Windows, Linux, Mac, Docker, Azure, AWS et plus encore.
    • IDE : S'intègre parfaitement avec Microsoft Visual Studio et JetBrains Rider.
    • Systèmes d'exploitation et processeurs : Fonctionne sous Windows, Mac et Linux (x64, x86, ARM).
  5. Normes et édition des fichiers 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.");
    }
}
$vbLabelText   $csharpLabel

Explication du code

  1. Initialisation et définition du 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 nombre 5 lors de la génération des nombres de 1 à 10.
  3. Utilisation de break : Dans la deuxième boucle, nous utilisons l'instruction break pour arrêter la boucle une fois que le nombre 7 est atteint.
  4. Rendu PDF : Nous utilisons un objet ChromePdfRenderer pour convertir le contenu HTML en un fichier PDF et l'enregistrer.

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, l'utilisation d'instructions de contrôle de flux structurées comme break , continue ou des 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 imprévues : une mauvaise utilisation de goto peut conduire à un code spaghetti et rendre difficile la compréhension du 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 : L'instruction **goto** est souvent utilisée dans la gestion des erreurs, permettant d'accéder directement à une routine de nettoyage ou de gestion des erreurs. Cependant, les bases de code C# modernes privilégient généralement une gestion structurée des exceptions (try-catch-finally), offrant une approche plus structurée et lisible.
  4. Considérations relatives aux performances : En termes de performances, la commande 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.

Avec la bibliothèque IronPDF - Solutions PDF Complètes de Iron Software, les développeurs peuvent acquérir des compétences avancées pour développer des applications modernes.

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.

Jacob Mellor, Directeur technique @ Team Iron
Directeur technique

Jacob Mellor est directeur technique chez Iron Software et un ingénieur visionnaire pionnier dans la technologie des PDF en C#. En tant que développeur original derrière la base de code principale d'Iron Software, il a façonné l'architecture du produit de l'entreprise depuis sa création, ...

Lire la suite