Table des matières

Passage de paramètres

Passage par valeur

La variable transmise en paramètre retrouvera sa valeur initiale à la sortie de la méthode même si elle a été changée au sein de la méthode.

static void Main(string[] args)
{
    int age = 30;
    Doubler(age);
    Console.WriteLine(age); //age vaut 30
}

public static void Doubler(int valeur)
{
    valeur = valeur * 2;
    Console.WriteLine(valeur);
}

Passage de paramètres en mise à jour

Pour pouvoir modifier la valeur du paramètre passé, il faut indiquer que la variable est en mode « mise à jour ». Cela se fait grâce au mot-clé « ref ».

static void Main(string[] args)
{
    int age = 30;
    Doubler(ref age);
    Console.WriteLine(age); //age vaut 60
}

public static void Doubler(ref int valeur)
{
    valeur = valeur * 2;
}

Passage de paramètres en sortie

Le mode de passage de paramètres en sortie permet de faire en sorte qu’une méthode force l’initialisation d’une variable et que l’appelant récupère la valeur initialisée.

static void Main(string[] args)
{
    int age = 30;
    int ageDouble;
    Doubler(age, out ageDouble);
    Console.WriteLine(age); //age vaut 30
    Console.WriteLine(ageDouble); //ageDouble vaut 60
}

public static void Doubler(int age, out int resultat)
{
    resultat = age * 2;
}

Lorsque vous retournez une seule valeur, il vaut mieux utiliser un Return dans une fonction . Le passage de paramètres en sortie est utile lorsque l'on doit changer la valeur de plusieurs paramètres.

Passage des objets par référence

Le fait de passer un objet à une méthode équivaut à passer la référence de l’objet en paramètres. Ainsi, c’est comme si on utilisait le mot-clé ref implicitement.