Merci
Merci
Avec le mot clé ref ta variable doit être instanciée avant l'appel de la méthode.
Avec le mot clé out, ce n'est pas obligatoire.
avec out
Class myClass;
myMethod(out myClass);
avec ref
Class myClass = new Class();
myMethod(ref myClass);
en es tu sure ? Car sur mon bouquin (official course microsoft), ils disent à propos de out,
"La méthode ne fabrique pas sa propre copie (ça ok). Le passage par paramètre out est semblable au passage par le paramètre ref (ok apriori), sauf que la méthode doit être assignée au paramètre out."
et je ne comprends pas cette dernière phrase en fait.
Tant pis sinon je me débrouillerai avec cette réponse.
merci.
il me semble que l'on utilise plus le "out" avec des types primitif ce qui permet de modifier le un parametres int par exemple dans une methode et qu'il soit toujours modifié en dehors de la methode.
Lors de l'appel d'une méthode contenant le mot cléf ref, tu dois le signaler explicitement.
Exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 ///// Passage avec mot clé "ref" /////////////////////////////////////////////// public void ModifValeurRef(ref int Valeur) { // Modification FACULTATIVE Valeur = X; } ///// Passage avec mot clé "out" /////////////////////////////////////////////// public void ModifValeurOut(out int Valeur) { // Modification OBLIGATOIRE Valeur = X; } ///// Main méthod /////////////////////////////////////////////// static void Main() { int i = 0; int j; ModifValeurRef(ref i); ModifValeurOut(i); ModifValeurRef(ref j); // ne passe pas a la compilation ModifValeurOut(j); }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager