using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
C# Continue (Comment ça marche pour les développeurs)
Kannapat Udonpant
avril 29, 2024
Partager:
Introduction
Les instructions de flux de contrôle sont cruciales en programmation, car elles dictent la séquence d'exécution des instructions au sein d'un programme. En C#, les 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 à l'intérieur des boucles, ce qui améliore l'efficacité et la lisibilité du code. Dans cet article, nous nous penchons sur les subtilités des méthodes continue et break en C#, en explorant leur syntaxe, leurs applications et les meilleures pratiques. Plus loin dans l'article, nous aborderons également les sujets suivantsIronPDF - une bibliothèque PDF C# robuste deIron Software pour lire et écrire des documents PDF.
Comprendre l'énoncé 'continue;'
L'instruction continue est utilisée dans les structures de boucle pour sauter le bloc de code restant et passer à l'itération suivante de la boucle. Elle indique essentiellement à la commande du programme de sauter le code restant de l'itération en cours et de passer à l'itération suivante.
Syntaxe
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 skip 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 skip 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 skip 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 code restant dans la boucle pour cette itération. Par conséquent, le nombre 5 ne sera pas imprimé et la boucle passe à l'itération suivante.
Sortie
Exploration de la méthode "break ;" (pause)
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, quelle que soit la condition de la boucle. Il est généralement utilisé pour sortir d'une boucle, telle qu'une boucle while, avant qu'une certaine condition ne soit 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 des nombres. Lorsqu'elle rencontre le chiffre 6, l'instruction break est exécutée, ce qui entraîne la fin prématurée de la boucle. Par conséquent, seuls les numéros 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 au sein de la même méthode, de la même instruction switch ou de la même boucle. Bien que l'instruction goto puisse être un outil puissant pour modifier le flux d'exécution des instructions de saut, elle est souvent déconseillée dans les pratiques de programmation modernes en raison de son potentiel à rendre le code moins lisible et moins facile à maintenir. Cependant, dans certaines situations, le goto peut être utilisé de manière efficace et sûre.
Syntaxe
La syntaxe de l'instruction goto en C# est simple :
goto label;
goto label;
GoTo label
$vbLabelText $csharpLabel
Lorsque l'étiquette est un identifiant suivi de deux points(:)indiquant l'emplacement de la cible dans le code.
Exemple
Considérons un scénario dans lequel vous souhaitez quitter prématurément une boucle imbriquée lorsqu'une condition spécifique est remplie. Vous pouvez y parvenir à l'aide d'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, ce qui permet de sortir de la boucle imbriquée.
IronPDFdéveloppé par Iron Software, est une puissante bibliothèque C# PDF qui fournit une solution tout-en-un pour travailler avec des PDF dans des projets .NET. Que vous ayez besoin de créer, d'éditer, d'exporter, de sécuriser, de charger ou de manipuler des documents PDF, IronPDF vous couvre. Voici quelques caractéristiques et cas d'utilisation clés :
Conversion de HTML en PDF : Convertissez le contenu HTML au format PDF en toute transparence. Vous pouvez générer des PDF à partir de HTML, MVC, ASPX et même d'images.
Signez, éditez et lisez les PDF : Avec plus de 50 fonctionnalités, IronPDF vous permet de signer, d'éditer et d'extraire le contenu des fichiers PDF. Qu'il s'agisse d'ajouter des signatures numériques ou de modifier des PDF existants, IronPDF vous simplifie la tâche.
Prise en charge multiplateforme : IronPDF est conçu pour C#, F# et VB.NET, et 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.
Compatibilité et environnements :
Versions .NET : Prend en charge C#, VB.NET et F#.
Types de projets : Travaille avec le web(Blazor et WebForms), bureau(WPF ET MAUI)et les applications sur console.
Environnements d'application : Compatible avec Windows, Linux, Mac, Docker, Azure, AWS, etc.
IDEs : S'intègre parfaitement à Microsoft Visual Studio et à JetBrains Rider.
OS et processeurs : Fonctionne sous Windows, Mac et Linux(x64, x86, ARM).
Normes et édition PDF :
Prise en charge de différentes versions de PDF(1.2 - 1.7)pDF/UA et PDF/A.
Définir les propriétés, la sécurité et la compression des fichiers PDF.
Modifier les métadonnées, l'historique des révisions et la structure du document.
Appliquer des modèles de page, des en-têtes, des pieds de page et des paramètres de page.
Optimisation des performances :
Prise en charge complète du multithreading et de l'asynchronisme pour une génération efficace de PDF.
Priorité à la précision, à la facilité d'utilisation et à la rapidité.
Maintenant que nous connaissons la bibliothèque IronPdf, écrivons une application pour utiliser IronPDF et les instructions continue, break et goto.
Générer un document PDF à l'aide de la déclaration continue
Tout d'abord, créons une application console Visual Studio
Indiquer le nom et la localisation du projet.
Étape suivante, sélectionnez la version .NET requise et cliquez sur Créer.
Installez maintenant IronPDF en utilisant la commande ci-dessous.
dotnet add package IronPdf --version 2024.4.2
Générons maintenant un document PDF à l'aide des instructions de contrôle.
using System;
using System.Threading.Tasks;
using System.Diagnostics;
using IronPdf;
class Program
{
public static async Task Main()
{
Console.WriteLine("Generate PDF document Using IronPDF");
var htmlToPdf = new ChromePdfRenderer();
var content = "<h1>Generate Numbers from 1 to 10, skip 5</h1>";
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
continue;
}
content += $"<p>{i}</p>";
}
content += "<h1>Generate Numbers from 1 to 10, stop at 7</h1>";
for (int i = 0; i < 10; i++)
{
if (i == 7)
{
break;
}
content += $"<p>{i}</p>";
}
var pdf = htmlToPdf.RenderHtmlAsPdf(content);
pdf.SaveAs("AwesomeIronPDF.pdf");
Console.WriteLine("PDF generated successfully.");
}
}
using System;
using System.Threading.Tasks;
using System.Diagnostics;
using IronPdf;
class Program
{
public static async Task Main()
{
Console.WriteLine("Generate PDF document Using IronPDF");
var htmlToPdf = new ChromePdfRenderer();
var content = "<h1>Generate Numbers from 1 to 10, skip 5</h1>";
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
continue;
}
content += $"<p>{i}</p>";
}
content += "<h1>Generate Numbers from 1 to 10, stop at 7</h1>";
for (int i = 0; i < 10; i++)
{
if (i == 7)
{
break;
}
content += $"<p>{i}</p>";
}
var pdf = htmlToPdf.RenderHtmlAsPdf(content);
pdf.SaveAs("AwesomeIronPDF.pdf");
Console.WriteLine("PDF generated successfully.");
}
}
Imports System
Imports System.Threading.Tasks
Imports System.Diagnostics
Imports IronPdf
Friend Class Program
Public Shared Async Function Main() As Task
Console.WriteLine("Generate PDF document Using IronPDF")
Dim htmlToPdf = New ChromePdfRenderer()
Dim content = "<h1>Generate Numbers from 1 to 10, skip 5</h1>"
For i As Integer = 0 To 9
If i = 5 Then
Continue For
End If
content &= $"<p>{i}</p>"
Next i
content &= "<h1>Generate Numbers from 1 to 10, stop at 7</h1>"
For i As Integer = 0 To 9
If i = 7 Then
Exit For
End If
content &= $"<p>{i}</p>"
Next i
Dim pdf = htmlToPdf.RenderHtmlAsPdf(content)
pdf.SaveAs("AwesomeIronPDF.pdf")
Console.WriteLine("PDF generated successfully.")
End Function
End Class
$vbLabelText $csharpLabel
Explication du code
Au départ, nous créons du contenu destiné à être utilisé dans un document PDF.
Nous préparons le contenu sous forme de document HTML.
Nous utilisons l'instruction continue à l'intérieur de la boucle for pour imprimer de 1 à 10 et sauter 5.
Nous utilisons également l'instruction break pour imprimer de 1 à 7 et faire une pause.
Nous utilisons ensuite l'objet ChromePdfRenderer pour enregistrer le document HTML dans un document PDF.
Sortie
Bonnes pratiques et considérations
Clarté et lisibilité : Dans la plupart des cas, l'utilisation d'instructions de flux de contrôle structurées telles que 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, en particulier pour les bases de code plus importantes ou lorsqu'elles sont utilisées de manière excessive.
Éviter les conséquences involontaires : Une mauvaise utilisation de goto peut conduire à un code spaghetti et rendre difficile le raisonnement sur le comportement du programme. Il est essentiel d'utiliser goto à bon escient et de veiller à ce que son utilisation soit claire et bien documentée.
Traitement des erreurs : Un cas d'utilisation courant de goto est le traitement des erreurs, où il peut être utilisé pour passer à une routine de nettoyage ou de traitement des erreurs. Cependant, les codes C# modernes utilisent souvent une gestion structurée des exceptions(try-catch-finally) pour la gestion des erreurs, ce qui constitue une approche plus structurée et plus lisible.
Considérations relatives aux performances : En termes de performances, goto a généralement un impact minimal. Cependant, la principale préoccupation concernant goto est la maintenabilité et la lisibilité plutôt que la performance.
Veuillez remplacer la clé dans le fichier appSettings.json indiqué 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 incorporant stratégiquement ces déclarations dans votre code, vous pouvez en améliorer l'efficacité, la lisibilité et la maintenabilité. Bien que l'instruction goto en C# offre un mécanisme permettant de modifier le flux d'exécution, son utilisation doit être abordée avec prudence. Dans la plupart des cas, les instructions de flux de contrôle structurées telles que break, continue ou les boucles imbriquées offrent des solutions plus claires et plus faciles à maintenir. Toutefois, il existe des scénarios particuliers dans lesquels goto peut être utilisé de manière efficace et sûre, par exemple dans certaines situations de traitement des erreurs. Comme pour toute construction de programmation, il est essentiel de peser les compromis et de tenir compte de la lisibilité et de la maintenabilité du code lorsque l'on décide d'utiliser ou non la méthode goto.
Ensemble avecIronPDF - Solutions PDF complètes bibliothèque deIron Software pour lire et générer des documents PDF, les développeurs peuvent acquérir des compétences avancées pour développer des applications modernes.
Avant de devenir ingénieur logiciel, Kannapat a obtenu un doctorat en ressources environnementales à l'université d'Hokkaido au Japon. Tout en poursuivant ses études, Kannapat est également devenu membre du Vehicle Robotics Laboratory, qui fait partie du Department of Bioproduction Engineering (département d'ingénierie de la bioproduction). En 2022, il a mis à profit ses compétences en C# pour rejoindre l'équipe d'ingénieurs d'Iron Software, où il se concentre sur IronPDF. Kannapat apprécie son travail car il apprend directement auprès du développeur qui écrit la majeure partie du code utilisé dans IronPDF. Outre l'apprentissage par les pairs, Kannapat apprécie l'aspect social du travail chez Iron Software. Lorsqu'il n'écrit pas de code ou de documentation, Kannapat peut généralement être trouvé en train de jouer sur sa PS5 ou de revoir The Last of Us.
< PRÉCÉDENT Html Agility Pack C# (Comment ça marche pour les développeurs)
SUIVANT > Bugsnag C# (Comment ça marche pour les développeurs)
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier