Partager via


Passage de paramètres (Guide de programmation C#)

En C#, les arguments peuvent être passés aux paramètres par valeur ou par référence. Le passage de paramètres par référence permet aux fonctions membres, méthodes, propriétés, indexeurs, opérateurs et constructeurs de changer la valeur des paramètres et de rendre persistantes ces modifications dans l'environnement d'appel. Pour passer un paramètre par référence, utilisez le mot clé ref ou out. Par souci de simplicité, seul le mot clé ref est utilisé dans les exemples de cette rubrique. Pour plus d'informations sur la différence entre ref et out, consultez ref (référence C#), out (référence C#) et Passage de tableaux à l'aide de paramètres ref et out (guide de programmation C#).

L'exemple suivant illustre la différence entre paramètres de valeur et de référence.

class Program
{
    static void Main(string[] args)
    {
        int arg;

        // Passing by value. 
        // The value of arg in Main is not changed.
        arg = 4;
        squareVal(arg);
        Console.WriteLine(arg);
        // Output: 4 

        // Passing by reference. 
        // The value of arg in Main is changed.
        arg = 4;
        squareRef(ref arg);
        Console.WriteLine(arg);
        // Output: 16 
    }

    static void squareVal(int valParameter)
    {
        valParameter *= valParameter;
    }

    // Passing by reference 
    static void squareRef(ref int refParameter)
    {
        refParameter *= refParameter;
    }
}

Pour plus d'informations, consultez les rubriques suivantes :

Spécification du langage C#

Pour plus d'informations, voir la Spécification du langage C#. La spécification du langage est la source de référence pour la syntaxe C# et son utilisation.

Voir aussi

Référence

Méthodes (guide de programmation C#)

Concepts

Guide de programmation C#