AIDE .NET

Passage par référence en C# (Comment cela fonctionne pour les développeurs)

Publié août 13, 2024
Partager:

Introduction

Une gestion efficace de la mémoire et une manipulation des données sont des composants essentiels pour créer du code haute performance dans le monde de la programmation. Écrire du code efficace et sans erreur nécessite une compréhension de la manière dont les données sonttransmisentre les méthodes et les fonctions dans des langages comme le C#. Une idée cruciale pour cette procédure est le "passage par référence". Dans cet article, nous allons explorer la signification du passage par référence en C# et ses scénarios d'utilisation appropriés.

Comment utiliser le passage par référence en C

  1. Définir une méthode avec des paramètres de type 'ref'.

  2. Initialiser une variable.

  3. Appelez la méthode avec le mot-clé Ref.

  4. Modifier la variable à l'intérieur de la méthode.

  5. Observer les changements dans la méthode principale.

  6. Définir une autre méthode avec un paramètre out pour générer un PDF.

  7. Initialiser et appeler la méthode Out.

Qu'est-ce qu'un Pass by Reference C# ?

Utiliser une référence pour passer fait référence à la manière en C# d'envoyer des arguments à des fonctions ou des méthodes en donnant une référence à la variable initiale de la méthode appelée plutôt qu'une copie de sa valeur. Cela implique que toute modification apportée au paramètre à l'intérieur de la méthode aura également un impact sur la variable initiale à l'extérieur de la méthode.

Variables de type valeur en C#(comme int, float, bool, etc.)sont généralement fournis par valeur, un paramètre de référence qui signifie que la méthode reçoit une copie de la valeur de la variable. Néanmoins, vous pouvez demander au compilateur de passer des arguments par référence en utilisant le mot-clé ref.

Utilisation du mot-clé ref

En C#, des arguments peuvent être faits pour les paramètres de référence passés par référence en utilisant le mot-clé ref. Toute modification apportée à un paramètre fourni par référence à l'aide du mot-clé ref aura un impact sur la variable originale.

class Program
{
    static void Main(string[] args)
    {
        int num = 10;
        Console.WriteLine("Before: " + num); // Output: Before: 10
        ModifyByRef(ref num);
        Console.WriteLine("After: " + num);  // Output: After: 20
    }
    static void ModifyByRef(ref int x)
    {
        x = x * 2;
    }
}
class Program
{
    static void Main(string[] args)
    {
        int num = 10;
        Console.WriteLine("Before: " + num); // Output: Before: 10
        ModifyByRef(ref num);
        Console.WriteLine("After: " + num);  // Output: After: 20
    }
    static void ModifyByRef(ref int x)
    {
        x = x * 2;
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

La méthode ModifyByRef dans l'exemple ci-dessus utilise le mot-clé ref pour prendre un paramètre entier, x, par référence. Toute modification apportée au paramètre ref x à l'intérieur de la méthode a un impact immédiat sur la variable num à l'extérieur de la méthode lorsque la méthode est appelée avec ref num.

Le mot-clé out

Le mot-clé out est utilisé pour passer des paramètres par référence à la méthode appelante, tout comme ref. Par conséquent, les méthodes sont capables de renvoyer de nombreuses valeurs.

class Program
{
    static void Main(string[] args)
    {
        int result;
        Calculate(10, 5, out result);
        Console.WriteLine("Result: " + result); // Output: Result: 15
    }
    static void Calculate(int x, int y, out int result)
    {
        result = x + y;
    }
}
class Program
{
    static void Main(string[] args)
    {
        int result;
        Calculate(10, 5, out result);
        Console.WriteLine("Result: " + result); // Output: Result: 15
    }
    static void Calculate(int x, int y, out int result)
    {
        result = x + y;
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Deux paramètres entiers, x et y, ainsi qu'un paramètre supplémentaire result indiqué par le mot-clé out, sont passés à la méthode Calculate dans cet exemple. Le résultat est attribué au paramètre résultat après que la procédure ait calculé la somme de x et y. Le résultat n'a pas besoin d'être initialisé avant d'être envoyé à la méthode car il est marqué comme out.

Quand utiliser le passage par référence

Écrire un code efficace et maintenable nécessite de savoir quand utiliser le passage par référence. Les situations suivantes nécessitent l'utilisation de plusieurs valeurs de passage par référence :

Modification de plusieurs variables

Passer les paramètres par référence peut être utile lorsqu'une méthode doit modifier plusieurs variables et que ces modifications doivent être reflétées en dehors de la méthode. Au lieu que la procédure renvoie plusieurs valeurs, les variables peuvent être envoyées par référence et modifiées directement dans la méthode.

static void ModifyMultipleByRef(ref int a, ref int b)
{
    a *= 2;
    b *= 3;
}
static void ModifyMultipleByRef(ref int a, ref int b)
{
    a *= 2;
    b *= 3;
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Structures de Big Data

En évitant la duplication inutile de données, le passage de grandes structures de données—comme des tableaux ou des objets complexes—par le passage de paramètres par référence peut améliorer l'efficacité. Le passage par référence doit être utilisé avec prudence lorsque vous travaillez avec des structures de données volumineuses, car cela peut avoir des conséquences inattendues s'il n'est pas manipulé correctement.

Interopérabilité avec du Code Externe

Il peut être nécessaire d'envoyer des arguments par référence afin de respecter à la fois la définition de la méthode et les exigences du code externe lors de l'interaction avec des bibliothèques externes ou de l'intégration de code natif.

Qu'est-ce qu'IronPDF ?

La bibliothèque C#IronPDF pour les applications .NETpermet aux programmeurs de créer, modifier et rendre des documents PDF dans des applications .NET. Sa vaste gamme de fonctionnalités rend le travail avec les fichiers PDF simple. Vous pouvez créer des documents PDF à partir de HTML, de photos et d'autres formats; annoter des PDFs avec du texte, des images et d'autres données; et diviser, fusionner et modifier des documents PDF déjà existants.

La principale fonctionnalité de IronPDF est sa capacité à convertirHTML vers PDF, en veillant à ce que les mises en page et les styles soient préservés. Cette fonctionnalité est excellente pour générer des PDFs à partir de contenu web tel que des rapports, des factures et de la documentation. Il convertit des fichiers HTML, des URLs et des chaînes HTML en fichiers 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");
    }
}
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
VB   C#

Caractéristiques d'IronPDF

Annotation de textes et d'images

IronPDF vous permet d'ajouter du texte, des images et des annotations à des documents PDF par programmation. Vous pouvez annoter des fichiers PDF avec des signatures, des tampons et des remarques grâce à cette fonctionnalité.

Sécurité PDF

IronPDF vous permet de spécifier différentes autorisations, y compris l'impression, la copie de contenu et la modification du document, et il peut crypter les documents PDF avec des mots de passe. Cela vous aide à contrôler l'accès aux fichiers PDF et à protéger les données sensibles.

Remplir des formulaires PDF interactifs

IronPDF vous permet de remplir des formulaires PDF interactifs par programmation. Cette fonctionnalité est utile pour créer des documents personnalisés à partir des saisies utilisateur ou pour automatiser les soumissions de formulaires.

Compression et optimisation des PDF

Pour minimiser la taille des fichiers sans sacrifier la qualité, IronPDF propose des solutions à la fois pour la compression et l'optimisation des fichiers PDF. Cela réduit la quantité de stockage nécessaire pour les documents PDF tout en améliorant les performances.

Compatibilité multiplateforme

IronPDF est conçu pour fonctionner parfaitement avec les applications .NET destinées à Windows, Linux et macOS, entre autres plateformes. Les frameworks .NET populaires comme ASP.NET, .NET Core et Xamarin sont intégrés avec lui.

Créer un nouveau projet Visual Studio

Il est facile de créer un projet de console avec Visual Studio. Pour créer une application console, suivez les étapes suivantes dans Visual Studio :

Avant de commencerDéveloppement Visual Studioassurez-vous qu'il est installé sur votre ordinateur.

Démarrer un nouveau projet

Sélectionnez Fichier, puis Nouveau, et enfin Projet.

C# Passage par Référence (Comment Cela Fonctionne pour les Développeurs) : Figure 1

Sur le côté gauche de la boîte "Créer un nouveau projet", sélectionnez votre langage de programmation préféré(C#, par exemple).

La "Console App" ou "Console App(.NET Core)"Un modèle peut être choisi parmi la liste suivante de types de modèles de projet de référence."

Donnez un nom à votre projet dans le champ "Nom".

Passage par référence en C# (Comment cela fonctionne pour les développeurs) : Figure 2

Sélectionnez l'emplacement de stockage où vous souhaitez enregistrer le projet.

Appuyez sur "Créer" pour initier le projet d'application Console.

C# Passer par Référence (Comment ça Fonctionne pour les Développeurs) : Figure 3

Installation d'IronPDF

Sous Outils dans les Outils de Visual Studio, vous pouvez trouver l'interface de ligne de commande visuelle. Sélectionnez le Gestionnaire de Packages pour NuGet. Dans l'onglet du terminal de gestion des paquets, vous devez taper la commande suivante.

Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
VB   C#

Une autre alternative consiste à utiliser le gestionnaire de paquets. L'option NuGet Package Manager permet d'installer le paquetage directement dans la solution. Utilisez la barre de recherche sur le site NuGet pour localiser des packages. La capture d'écran suivante illustre la facilité avec laquelle il est possible de rechercher "IronPDF" dans le gestionnaire de packages :

Passage par référence en C# (Comment cela fonctionne pour les développeurs) : Figure 4 - Installation de IronPDF à partir du gestionnaire de packages NuGet

La liste des résultats de recherche pertinents peut être vue dans l'image ci-dessus. Pour permettre l'installation du logiciel sur votre machine, veuillez ajuster ces paramètres.

Une fois le package téléchargé et installé, il peut maintenant être utilisé dans le projet en cours.

Utilisation du Passage par Référence avec IronPDF

Voici une illustration de l'utilisation de la fonctionnalité de passage par référence d'IronPDF.

using IronPdf;
using System;
class Program
{
    static void Main(string[] args)
    {
        // Create a PDF document
        var pdf = new IronPdf.HtmlToPdf();
        // HTML content to be converted to PDF
        string htmlContent = "<h1>Hello, IronPDF!</h1>";
        // Create a byte array to store the PDF content
        byte[] pdfBytes;
        // Convert HTML to PDF and pass the byte array by reference
        ConvertHtmlToPdf(pdf, htmlContent, out pdfBytes);
        // Save or process the PDF content
        // For demonstration, let's print the length of the PDF content
        Console.WriteLine("Length of PDF: " + pdfBytes.Length);
    }
    static void ConvertHtmlToPdf(IronPdf.HtmlToPdf pdfConverter, string htmlContent, out byte[] pdfBytes)
    {
        // Convert HTML to PDF and store the result in the byte array
        var pdfDoc = pdfConverter.RenderHtmlAsPdf(htmlContent);
        pdfBytes = pdfDoc.BinaryData;
    }
}
using IronPdf;
using System;
class Program
{
    static void Main(string[] args)
    {
        // Create a PDF document
        var pdf = new IronPdf.HtmlToPdf();
        // HTML content to be converted to PDF
        string htmlContent = "<h1>Hello, IronPDF!</h1>";
        // Create a byte array to store the PDF content
        byte[] pdfBytes;
        // Convert HTML to PDF and pass the byte array by reference
        ConvertHtmlToPdf(pdf, htmlContent, out pdfBytes);
        // Save or process the PDF content
        // For demonstration, let's print the length of the PDF content
        Console.WriteLine("Length of PDF: " + pdfBytes.Length);
    }
    static void ConvertHtmlToPdf(IronPdf.HtmlToPdf pdfConverter, string htmlContent, out byte[] pdfBytes)
    {
        // Convert HTML to PDF and store the result in the byte array
        var pdfDoc = pdfConverter.RenderHtmlAsPdf(htmlContent);
        pdfBytes = pdfDoc.BinaryData;
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

La fonction ConvertHtmlToPdf dans cet exemple prend trois paramètres : le contenu HTML, un tableau d'octets appelé pdfBytes, et un objet IronPDF HtmlToPdf. Le mot-clé out indique que le paramètre pdfBytes est fourni par référence et sera modifié dans la méthode.

Passage par référence en C# (Comment cela fonctionne pour les développeurs) : Figure 5

Le contenu HTML est rendu en tant que document PDF à l'aide de IronPDF dans la fonction ConvertHtmlToPdf, et les données binaires résultantes sont stockées dans le tableau pdfBytes.

Nous utilisonsIronPDF Conversion de HTML en PDFà nouveau dans la fonction Main, en passant le tableau pdfBytes par référence. Après l'appel de la méthode, le contenu PDF d'IronPDF est stocké à l'emplacement mémoire du tableau pdfBytes.

C# Passer par Référence (Comment Cela Fonctionne pour les Développeurs) : Figure 6

Cela vous montre comment créer et travailler avec des documents PDF de manière efficace en utilisant IronPDF et le passage par référence en C#.

Conclusion

En résumé, l'utilisation d'IronPDF avec le passage par référence en C# améliore grandement les capacités de création et de modification de documents PDF dans les programmes .NET. L'utilisation efficace des mots-clés ref et out permet aux développeurs de transmettre des arguments par référence avec aisance, rendant possible la modification des variables et du contenu au sein des méthodes rapidement et efficacement. La vaste gamme de fonctionnalités d'IronPDF, qui incluent la capacité de convertir du HTML en PDF, de générer des PDF à partir d'images et d'effectuer des tâches de modification de PDF étendues, permet aux développeurs de créer facilement des documents PDF dynamiques et interactifs.

IronPDF offre les outils et les API nécessaires pour accélérer les processus de traitement de documents, y compris la division, la fusion, l'annotation et l'optimisation des fichiers PDF. De plus, l'interopérabilité multiplateforme du PDF garantit que les applications C# peuvent intégrer les fonctionnalités PDF avec facilité dans une variété de contextes. Essentiellement, les développeurs peuvent créer de nouvelles voies pour créer, modifier et afficher des documents PDF dans leurs applications en fusionnant la puissance de la transmission par référence de C# avec l'ensemble riche de fonctionnalités d'IronPDF.

Enfin, il est possible de travailler efficacement avec Excel, de réaliser des PDF, d'effectuer une reconnaissance optique des caractères et d'utiliser des codes-barres. Le prix de chaque bibliothèque commence à $749. Les développeurs peuvent choisir le meilleur modèle en toute confiance si les options de licence sont claires et adaptées aux besoins du projet. Avec ces avantages, les développeurs peuvent surmonter une variété de défis avec efficacité et transparence.

< PRÉCÉDENT
NServiceBus C# (Comment ça marche pour les développeurs)
SUIVANT >
EasyNetQ .NET (Comment ça marche pour les développeurs)