In C# there is the out parameter keyword which causes arguments to be passed by reference. It is like the ref keyword, except that ref requires that the variable be initialized before it is passed.


The out parameter keyword provides a way for a method to output multiple values from a method without using an array or object, since the return statement only allows one output, by using out one can return multiple values.

Last but not least I personally do not recommend using out keyword and also from
The Framework Design Guidelines it also recommend to avoid using out. If you have multiple returns use an object that wraps around the value is a better design.