IRONSOFTWAREHOME
MISES À JOUR POUR LES DÉVELOPPEURS

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

Jacob Mellor, Directeur technique @ Team Iron
Jacob Mellor
Updated: 23 avril 2026

En C#, le mot-clé ref est une fonction puissante qui permet aux méthodes de modifier la valeur du paramètre des variables de type référence passées. Comprendre comment utiliser ref peut améliorer votre capacité à gérer et manipuler des données au sein de vos applications.

Cet article vous guidera à travers les bases du mot-clé ref, son application et les nuances de son utilisation avec différents types de données. Nous apprendrons également à propos de la bibliothèque IronPDF for .NET, qui est une bibliothèque PDF.

Comprendre les paramètres ref

Un paramètre ref est un paramètre de méthode qui agit comme une référence à la variable passée à la méthode. Contrairement aux paramètres de valeur standard, où seule une copie de la variable est passée, les paramètres ref permettent à la méthode appelée de modifier la valeur originale de la variable. Ce comportement est crucial lorsque vous avez besoin qu'une méthode mette à jour l'état des variables qui lui sont passées.

Considérez l'exemple suivant pour démontrer l'utilisation basique de ref, en se concentrant sur la manière dont une variable de type référence conserve sa valeur de paramètre dans le même objet tout au long des appels de méthode :

class Program
{
    static void Main()
    {
        int number = 100;
        ModifyNumber(ref number);
        Console.WriteLine(number); // Output: 200
    }

    // Method that modifies the original number through 'ref'
    static void ModifyNumber(ref int number)
    {
        number = 200; // Modifies the original value
    }
}

Dans cet exemple, la méthode Main déclare un entier number et l'initialise à 100. Ensuite, elle appelle ModifyNumber, passant number comme un paramètre ref. À l'intérieur de ModifyNumber, la valeur de number est changée à 200. Puisque number est passé par référence, le changement est reflété dans la valeur originale dans la méthode Main, et 200 est imprimé à la console.

Comment fonctionnent les paramètres ref

Lorsque vous déclarez un paramètre de méthode avec le mot-clé ref, vous indiquez au compilateur que le paramètre référencera la variable originale plutôt qu'une copie. Cela est réalisé en passant l'adresse mémoire de la variable, plutôt que la valeur réelle. La méthode appelée et la méthode appelante accèdent toutes deux au même emplacement mémoire, ce qui signifie que toute modification apportée au paramètre est directement appliquée à la variable d'origine.

La clé pour comprendre ref est de reconnaître qu'il peut être utilisé à la fois avec les types valeur et les types référence. Les types valeur incluent des types de données simples comme les entiers et les structures, tandis que les types référence incluent les objets et les tableaux. Cependant, bien que les variables de type référence détiennent intrinsèquement des adresses mémoire, l'utilisation de ref avec des types de référence vous permet de modifier la référence réelle, et pas seulement le contenu de l'objet.

Différences entre ref et out

Bien que les mots-clés ref et out permettent de modifier les variables originales, il existe des distinctions importantes. Un paramètre out ne nécessite pas d'initialisation avant d'être passé à une méthode. Inversement, un paramètre ref exige que la variable soit initialisée avant d'être passée. De plus, une méthode utilisant un paramètre out est obligée d'assigner une valeur avant que la méthode ne retourne. Cette exigence ne s'applique pas aux paramètres ref.

Voici comment vous pourriez utiliser le mot-clé out :

class Program
{
    static void Main()
    {
        int result;
        CalculateResult(out result);
        Console.WriteLine(result); // Output: 100
    }

    // Method that calculates a result and assigns it via 'out'
    static void CalculateResult(out int calculation)
    {
        calculation = 20 * 5; // Must initialize the out parameter
    }
}

Dans ce cas, CalculateResult initialise le calculation dans la méthode, et Main reflète le résultat.

Utilisation pratique de ref dans la surcharge de méthode

ref peut également être utilisé dans la surcharge de méthode, où la signature de la méthode est modifiée par le mot-clé ref. Les signatures de méthode sont composées du nom de la méthode et de ses types de paramètres, y compris si les paramètres sont passés par référence (ref), par valeur, ou comme un paramètre out.

Envisagez de surcharger les méthodes en fonction de paramètres ref et valeur :

class Program
{
    static void Main()
    {
        int normalParameter = 10, refParameter = 10;
        IncrementValue(normalParameter);
        IncrementValue(ref refParameter);
        Console.WriteLine($"Normal: {normalParameter}, Ref: {refParameter}"); // Output: Normal: 10, Ref: 11
    }

    // Method that increments a copy of the integer
    static void IncrementValue(int number)
    {
        number++;
    }

    // Method that increments the original integer using 'ref'
    static void IncrementValue(ref int number)
    {
        number++;
    }
}

Ici, IncrementValue est surchargé avec une version prenant un paramètre normal et une prenant un paramètre ref. La version ref incrémente la variable originale, tandis que la version normale ne change qu'une copie.

Introduction à IronPDF

C# Ref (Comment ça fonctionne pour les développeurs) : Figure 1

IronPDF for .NET PDF Solutions est une bibliothèque .NET complète conçue pour travailler avec des documents PDF. Elle est principalement construite en C# et se concentre sur la simplification de la création et de la manipulation de PDFs à partir de contenu HTML. En utilisant un moteur de rendu Chrome, IronPDF fournit des documents PDF de haute qualité, au pixel près, qui capturent les nuances du HTML, du CSS, du JavaScript et du contenu d'image.

Cette bibliothèque est polyvalente, prenant en charge un large éventail d'environnements .NET, y compris .NET Framework, .NET Core et .NET Standard, ce qui la rend adaptée à diverses applications, des systèmes de bureau aux systèmes basés sur le web. IronPDF ne supporte pas seulement la création de PDF mais offre également des fonctionnalités pour éditer, sécuriser et convertir des PDFs en d'autres formats.

Cette capacité s'étend à l'extraction de texte et d'images, au remplissage de formulaires et même à l'application de signatures numériques, assurant une gestion complète des documents PDF au sein des applications .NET.

Intégration d'IronPDF avec C# et le mot-clé ref

IronPDF peut être intégré à C# pour exploiter les fonctionnalités robustes du langage, y compris l'utilisation du mot-clé ref pour passer des paramètres par référence. Cette intégration permet une génération dynamique de PDF où le contenu peut dépendre de variables dont les valeurs sont déterminées à l'exécution.

Pour illustrer l'intégration d'IronPDF avec C# en utilisant le mot-clé ref, envisagez un scénario où nous voulons générer un rapport PDF qui inclut une valeur calculée dynamiquement. Cette valeur sera calculée au sein d'une méthode qui accepte un paramètre ref, permettant à la méthode de modifier cette valeur, qui est ensuite reflétée dans le PDF généré.

Exemple de code : Générer un PDF avec du contenu dynamique en utilisant ref

Le code C# suivant démontre comment utiliser IronPDF en conjonction avec le mot-clé ref pour générer un document PDF. Le code calcule une valeur, la modifie via une méthode qui accepte un paramètre ref, puis utilise IronPDF pour générer un PDF qui inclut ce contenu dynamique.

using IronPdf;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Set your IronPDF license key
        License.LicenseKey = "License-Key";
        
        // Initialize the value
        int totalSales = 150;
        
        // Modify the value within the method using 'ref'
        AddMonthlyBonus(ref totalSales);
        
        // Use IronPDF to generate a PDF report
        var Renderer = new ChromePdfRenderer();
        var PDF = Renderer.RenderHtmlAsPdf($"<h1>Monthly Sales Report</h1><p>Total Sales, including bonus: {totalSales}</p>");
        
        // Save the PDF to a file
        PDF.SaveAs("MonthlySalesReport.pdf");
        
        // Confirm the PDF has been generated
        Console.WriteLine("PDF generated successfully. Check your project directory.");
    }

    // Method that adds a monthly bonus to sales using 'ref'
    static void AddMonthlyBonus(ref int sales)
    {
        // Assume a bonus of 10% of the sales
        sales += (int)(sales * 0.1);
    }
}

C# Ref (Comment ça fonctionne pour les développeurs) : Figure 2

Dans cet exemple, totalSales commence à 150. La méthode AddMonthlyBonus prend cette valeur par référence en utilisant le mot-clé ref, calcule une prime de 10 %, et l'ajoute à la valeur de vente originale. IronPDF génère ensuite un document PDF contenant un extrait HTML qui rapporte le total des ventes, y compris le bonus. Le document final est enregistré localement sous le nom 'MonthlySalesReport.pdf'.

Conclusion

Comprendre le mot-clé ref en C# fournit un outil précieux pour gérer comment les données sont passées entre les méthodes. En permettant aux méthodes de modifier directement les valeurs originales des paramètres qui leur sont passés, ref peut rendre vos méthodes plus flexibles et puissantes.

À mesure que vous acquérez de l'expérience avec ref, vous comprendrez mieux quand et comment l'utiliser efficacement pour répondre à vos besoins en programmation. IronPDF propose une version d'essai gratuite pour commencer avec les capacités PDF et les tarifs commencent à partir de $999.

Jacob Mellor, Directeur technique @ Team Iron
Directeur technique

Jacob Mellor est directeur de la technologie chez Iron Software et un ingénieur visionnaire pionnier de la technologie C# PDF. En tant que développeur à l'origine de la base de code centrale d'Iron Software, il a façonné l'architecture des produits de l'entreprise depuis sa création, la transformant aux côtés du PDG Cameron Rimington en une entreprise de plus de 50 personnes au service de la NASA, de Tesla et d'agences gouvernementales mondiales.

...
Lire la suite

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

OR
bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez « IronPDF »
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

ou téléchargez l'installateur Windows ici.

  1. Téléchargez et décompressez IronPDF à un emplacement tel que ~/Libs dans votre répertoire de solution
  2. Dans l'explorateur de solutions Visual Studio, faites un clic droit sur Références. Sélectionnez Parcourir, « IronPDF.dll »

Licences à partir de 749 $