using IronPdf;
class Program
{
static void Main(string [] args)
{
var renderer = new ChromePdfRenderer();
// Generate a PDF from an HTML string and save it
using (var document = renderer.RenderHtmlAsPdf("<h1>Hello, IronPDF!</h1>"))
{
document.SaveAs("HelloIronPDF.pdf");
}
// The using statement ensures that resources are cleaned up correctly
}
}
Déclaration d'utilisation C# (Comment ça marche pour les développeurs)
Chaknith Bin
avril 3, 2024
Partager:
La déclaration using en C# est un concept fondamental qui aide à gérer efficacement les ressources, en particulier lors du travail avec des objets jetables. Ce didacticiel expliquera ce qu'est l'instruction using, comment elle fonctionne et pourquoi elle est avantageuse, en particulier pour ceux qui découvrent C#.
À la fin de ce guide, vous saurez comment mettre en œuvre cette déclaration dans votre code pour une meilleure gestion des ressources et un code plus propre et plus lisible. Nous discuterons également de l'intégration de IronPDF avec l'instruction using plus tard dans l'article.
Comprendre les objets jetables et l'interface IDisposable
Avant de plonger dans l'instruction using, il est crucial de comprendre les objets jetables et l'interface IDisposable. Dans .NET, de nombreuses ressources telles que les gestionnaires de fichiers, les connexions réseau et les connexions aux bases de données ne sont pas gérées par le ramasse-miettes.
Ces ressources sont appelées ressources non gérées. Pour gérer correctement ces ressources, les classes qui les encapsulent implémentent l'interface IDisposable, qui inclut une méthode unique, Dispose. Cette méthode est appelée pour libérer manuellement les ressources non gérées lorsqu'elles ne sont plus nécessaires.
Les bases de la déclaration d'utilisation
Syntaxe et utilisation
L'instruction using simplifie le processus de libération des ressources non gérées. Il garantit que la méthode Dispose est appelée sur un objet jetable dès que l'objet sort de la portée.
Considérez le bloc d'utilisation comme une zone de sécurité qui garantit que les ressources sont automatiquement nettoyées après leur utilisation. Voici un exemple de base pour illustrer son utilisation :
using (StreamReader reader = new StreamReader("file.txt"))
{
// You can read the file here
}
using (StreamReader reader = new StreamReader("file.txt"))
{
// You can read the file here
}
Using reader As New StreamReader("file.txt")
' You can read the file here
End Using
$vbLabelText $csharpLabel
Dans l'exemple ci-dessus, StreamReader est une classe qui implémente l'interface IDisposable. L'instruction using garantit que la méthode Dispose du reader est appelée automatiquement lorsque le contrôle quitte la portée définie par les accolades.
Comment ça marche
Lorsque vous encapsulez un objet jetable avec une instruction using, cela se traduit essentiellement par un bloc try avec un bloc finally. Dans le bloc finally, la méthode Dispose est appelée, garantissant que la ressource est libérée correctement même si une exception se produit.
Si le code à l'intérieur du bloc using génère une erreur, ne vous inquiétez pas ; la méthode Dispose sera toujours appelée, ce qui garantit que les ressources sont libérées en toute sécurité.
Concepts avancés de la déclaration d'utilisation
Gestion de ressources multiples
Vous pouvez gérer plusieurs objets jetables au sein d'une seule instruction using. Cette approche permet d'avoir un code plus propre et de s'assurer que toutes les ressources sont éliminées correctement :
using (SqlConnection conn = new SqlConnection(connString))
using (SqlCommand cmd = new SqlCommand(query, conn))
{
// Work with your database here
}
using (SqlConnection conn = new SqlConnection(connString))
using (SqlCommand cmd = new SqlCommand(query, conn))
{
// Work with your database here
}
Using conn As New SqlConnection(connString)
Using cmd As New SqlCommand(query, conn)
' Work with your database here
End Using
End Using
$vbLabelText $csharpLabel
Utilisation de la directive Alias
En plus des fonctionnalités de base de l'instruction using, C# offre des fonctionnalités comme la directive using alias et la gestion efficace des variables locales dans les blocs using pour simplifier davantage la gestion des ressources et améliorer la lisibilité du code.
Parfois, lorsque l'on travaille avec des bibliothèques externes ou que l'on est confronté à des conflits de noms de classes, notre code peut devenir encombré et difficile à suivre. La directive d'alias using vient à la rescousse en nous permettant d'assigner un alias plus lisible ou plus court à un espace de noms ou à une classe.
Considérons un scénario dans lequel vous travaillez avec deux classes différentes qui portent le même nom mais résident dans des espaces de noms différents. Vous pouvez utiliser la directive using alias pour les différencier facilement :
using Project = FirstNamespace.Project;
using ExternalProject = SecondNamespace.Project;
// Now you can use Project and ExternalProject in your code to refer to the specific classes without confusion.
using Project = FirstNamespace.Project;
using ExternalProject = SecondNamespace.Project;
// Now you can use Project and ExternalProject in your code to refer to the specific classes without confusion.
Imports Project = FirstNamespace.Project
Imports ExternalProject = SecondNamespace.Project
' Now you can use Project and ExternalProject in your code to refer to the specific classes without confusion.
$vbLabelText $csharpLabel
La déclaration d'utilisation
Introduit dans C# 8.0, la déclaration using est un sucre syntaxique qui rend votre code encore plus concis. Au lieu d'envelopper l'objet jetable avec des accolades, vous pouvez le déclarer, et il sera dissous à la fin de la portée dans laquelle il a été déclaré :
using StreamReader reader = new StreamReader("file.txt");
// Use reader here
// It will be disposed of here automatically
using StreamReader reader = new StreamReader("file.txt");
// Use reader here
// It will be disposed of here automatically
Using reader As New StreamReader("file.txt")
' Use reader here
' It will be disposed of here automatically
End Using
$vbLabelText $csharpLabel
Classes personnalisées et IDisposable
Vous pouvez également appliquer l'instruction using à des classes personnalisées en implémentant l'interface IDisposable. Ceci est particulièrement utile lorsque votre classe est responsable de la gestion d'une ou plusieurs ressources :
public class ResourceHolder : IDisposable
{
public void Dispose()
{
// Release your resources here
}
}
public class ResourceHolder : IDisposable
{
public void Dispose()
{
// Release your resources here
}
}
Public Class ResourceHolder
Implements IDisposable
Public Sub Dispose() Implements IDisposable.Dispose
' Release your resources here
End Sub
End Class
$vbLabelText $csharpLabel
Avec votre classe implémentant IDisposable, vous pouvez ensuite l'utiliser dans une instruction using tout comme n'importe quel autre objet jetable.
Introduction à IronPDF : Le C&num ; Bibliothèque PDF
IronPDF for .NET PDF Generation est une bibliothèque de génération de PDF complète conçue pour la plateforme .NET, développée avec C# en son cœur. IronPDF simplifie le processus de création de PDF en utilisant HTML, CSS, images et JavaScript pour un rendu PDF efficace.
Il prend en charge la manipulation complète des PDF, simplifiant ce qui est généralement une tâche complexe avec d'autres API. Il simplifie non seulement le processus de création de PDF, mais ajoute également une compatibilité avec un large éventail de types d'applications, y compris les applications web, serveur, console et de bureau.
IronPDF est idéal pour transformer des pages web, des URL et du HTML en PDF qui ressemblent exactement à l'original. C'est parfait pour créer des PDF à partir de contenu en ligne, comme des rapports et des factures. Besoin d'un PDF d'une page web ? IronPDF vous couvre !
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim renderer = New ChromePdfRenderer()
' 1. Convert HTML String to PDF
Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")
' 2. Convert HTML File to PDF
Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")
' 3. Convert URL to PDF
Dim url = "http://ironpdf.com" ' Specify the URL
Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
pdfFromUrl.SaveAs("URLToPDF.pdf")
End Sub
End Class
$vbLabelText $csharpLabel
Installation d'IronPDF
La manière la plus efficace d'ajouter IronPDF à votre projet est d'utiliser le gestionnaire de paquets NuGet. Il vous suffit d'ouvrir votre projet dans Visual Studio, de vous rendre dans l'Explorateur de solutions, de cliquer avec le bouton droit de la souris sur "Dépendances" et de choisir "Gérer les paquets NuGet" Ici, vous pouvez rechercher "IronPDF" et installer le paquet en quelques clics.
Exemple d'utilisation d'IronPDF avec la déclaration d'utilisation
Rattachons cela à l'instruction using en C# pour la gestion des ressources. Ci-dessous un exemple de code simple démontrant comment utiliser IronPDF pour générer un PDF à partir de contenu HTML, en utilisant l'instruction using pour garantir une élimination appropriée des ressources :
using IronPdf;
class Program
{
static void Main(string [] args)
{
var renderer = new ChromePdfRenderer();
// Generate a PDF from HTML string and save it
using (var document = renderer.RenderHtmlAsPdf("<h1>Hello, IronPDF!</h1>"))
{
document.SaveAs("HelloIronPDF.pdf");
}
// The using statement ensures that resources are cleaned up correctly
}
}
using IronPdf;
class Program
{
static void Main(string [] args)
{
var renderer = new ChromePdfRenderer();
// Generate a PDF from HTML string and save it
using (var document = renderer.RenderHtmlAsPdf("<h1>Hello, IronPDF!</h1>"))
{
document.SaveAs("HelloIronPDF.pdf");
}
// The using statement ensures that resources are cleaned up correctly
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim renderer = New ChromePdfRenderer()
' Generate a PDF from HTML string and save it
Using document = renderer.RenderHtmlAsPdf("<h1>Hello, IronPDF!</h1>")
document.SaveAs("HelloIronPDF.pdf")
End Using
' The using statement ensures that resources are cleaned up correctly
End Sub
End Class
$vbLabelText $csharpLabel
Licence
IronPDF propose une variété d'options de licences pour différents besoins afin de s'adapter aux différentes tailles d'équipe et aux besoins de déploiement, garantissant ainsi une flexibilité pour les développeurs et les organisations de toutes tailles.
La déclaration using est une fonctionnalité puissante en C# qui assure une gestion efficace des ressources et un code plus propre. Elle est particulièrement utile lorsque l'on travaille avec des flux de fichiers, des connexions à des bases de données ou toute autre variable ou objet local qui consomme des ressources système.
En appelant automatiquement la méthode Dispose, cela aide à prévenir les fuites de ressources et à assurer le bon fonctionnement de votre application. N'oubliez pas d'utiliser toujours l'instruction using avec tout objet qui implémente l'interface IDisposable.
IronPDF vous invite à essayer leur produit sans aucune obligation financière en utilisant leur version d'essai gratuite d'IronPDF. Si vous êtes satisfait de ses performances, l'acquisition d'une licence commence au prix de $749.
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.
< PRÉCÉDENT C# Tryparse (Comment ça marche pour les développeurs)
SUIVANT > Enregistrement 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