Junior — Middle
Wat zijn de verschillen tussen de sleutelwoorden ref en out bij het doorgeven van referentievariabelen in methoden?
sobes.tech AI
Antwoord van AI
In C# worden de sleutelwoorden ref en out gebruikt om parameters door verwijzing door te geven, maar ze hebben belangrijke verschillen:
refvereist dat de variabele vóór het doorgeven aan de methode geïnitialiseerd is. De methode kan de waarde lezen en wijzigen.outvereist niet dat de variabele vooraf geïnitialiseerd is, maar de methode moet er een waarde aan toewijzen voordat hij vertrekt.
Voorbeeld:
void ExampleRef(ref int x) {
x += 10; // kan gelezen en gewijzigd worden
}
void ExampleOut(out int y) {
y = 42; // moet toegewezen worden
}
int a = 5;
ExampleRef(ref a); // a moet geïnitialiseerd zijn
int b; // niet geïnitialiseerd
ExampleOut(out b); // de methode wijst een waarde toe aan b
Dus, ref wordt gebruikt wanneer je een bestaande waarde wilt doorgeven en wijzigen, en out wanneer de methode meerdere waarden via parameters moet teruggeven.