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 :
Passage de paramètres de type valeur (Guide de programmation C#)
Passage de paramètres de type référence (Guide de programmation C#)
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#)