Différence entre le paramètre ref et out en C #

Différence entre le paramètre ref et out en C #

Paramètre ref (référence)

Le paramètre «ref» est utilisé pour passer la valeur par référence du paramètre réel au paramètre formel I.E de la méthode Callee à la méthode appelée. En C #, un paramètre déclaré avec un modificateur «ref» est un paramètre de référence. Lorsque vous transmettez les paramètres par référence, contrairement aux paramètres de valeur, un nouvel emplacement n'est pas créé pour ce paramètre. Toutes les modifications apportées au paramètre formel se refléteront dans le paramètre réel.

Exemple de paramètre REF
Comme indiqué dans l'extrait du programme ci-dessus, toutes les modifications apportées à m seront reflétées à n, car le paramètre est passé par référence.

Paramètre OUT (sortie)

Le paramètre de sortie est utilisé pour transmettre le résultat à la fonction d'appel. Le mot-clé 'out' est utilisé pour déclarer le paramètre en tant que paramètre de sortie. Semblable à un paramètre de référence, un paramètre de sortie ne crée pas un nouvel emplacement de stockage. Au lieu de cela, il devient un alias au paramètre dans la méthode d'appel.

Exemple de paramètre OUT
Dans le programme ci-dessus, X est déclaré paramètre OUT dans la fonction d'appel et comme vous pouvez le voir, X n'a ​​pas été initialisé. Lorsque la fonction carrée se termine, la valeur de q sera copiée dans le paramètre de sortie x.

Différence entre le paramètre ref et out en C #

  1. Dans le paramètre de référence, les modifications apportées au paramètre formel reflètent le paramètre réel, tandis que dans le paramètre out, la valeur est reflétée au paramètre out de la fonction d'appel.
  2. Le paramètre réel `` sortie '' n'en a généralement pas attribué de valeur tandis qu'un paramètre réel déclaré car la référence doit toujours se voir attribuer une valeur avant d'appeler.
    Note: Vous devez attribuer de la valeur au paramètre OUT dans le corps de la méthode; Sinon, la méthode ne sera pas compilée.
  3. Les paramètres OUT et REF ne créent pas un nouvel emplacement de mémoire.
  4. Les paramètres Ref et Out sont traités différemment au moment de l'exécution, mais ils sont traités de la même manière au moment de la compilation.