Junior — Middle
Quelles sont les différences entre les mots-clés ref et out lors de la transmission de variables de référence dans les méthodes?
sobes.tech IA
Réponse de l'IA
En C#, les mots-clés ref et out sont utilisés pour passer des paramètres par référence, mais présentent des différences importantes :
refexige que la variable soit initialisée avant d'être passée au méthode. La méthode peut lire et modifier la valeur.outne nécessite pas que la variable soit initialisée au préalable, mais la méthode doit lui assigner une valeur avant de sortir.
Exemple :
void ExampleRef(ref int x) {
x += 10; // peut lire et modifier
}
void ExampleOut(out int y) {
y = 42; // doit être assigné
}
int a = 5;
ExampleRef(ref a); // a doit être initialisé
int b; // non initialisé
ExampleOut(out b); // la méthode assigne une valeur à b
Ainsi, ref est utilisé lorsque vous souhaitez passer et modifier une valeur existante, et out lorsque la méthode doit renvoyer plusieurs valeurs via les paramètres.