Junior — Middle
Can you explain the difference between the key modifiers ref and out in C# and in what situations they are used?
sobes.tech AI
Answer from AI
In C#, the ref and out modifiers are used to pass parameters by reference, but they have different rules and scenarios.
refrequires that the variable be initialized before passing it to the method. The method can read and modify its value.outdoes not require prior initialization, but the method must assign a value before it returns.
Example:
void ExampleRef(ref int x) {
x = x + 1; // can read and modify
}
void ExampleOut(out int y) {
y = 10; // must assign a value
}
int a = 5;
ExampleRef(ref a); // a is now 6
int b; // uninitialized
ExampleOut(out b); // b is now 10
Use ref when you want to modify an existing value, and out when the method should return multiple values or initialize the variable internally.