What is out.. ? Out keyword is like ref but here you must not initialize the variable before passing to calling method. ,
Purpose of this keyword when you want to returned one or more than one value from method.Simply we explicitly copies the reference or address from calling method store at stack and again rewritting it to that references or addresses and return back to calling method from method called.
Here are some snaps, that will explore the work flow of Out keyword.
Look at Snap No.1 :
Typically program will start to execute from Main method, here i have taken three variables and i will pass these variable to calling method with out keyword, means i am passing addresses through argument to called method parameter.
![]() |
Here method is going to call with out keyword ...
Look at Snap No.3 :
Here we explicitly copying reference or addresses from calling method to method parameter para_One,para_Two and para_Three.
Picturized memory locations for para as :
para_One para_Two para_Three
null | null | null |
20001 | 20002 | 20003 |
Look at Snap No.4 :
I have assigned text to para_One,para_Two and para_Three.
Look at Snap No.5 :
Greetings !!! all values from method got returned and rewritten to address [20001], [20002], [20003] which are previously passed through calling method.
What we did ? Simply copied that text to address loaction.
arg_One arg_Two arg_Three
argument 'arg_one'add = 20001 .. value part | argument 'arg_one'add = 20002.. value part | argument 'arg_one'add = 20003 .. value part |
20001 add part | 20002 add part | 20003 add part |
Look at Snap No.6 :
OutPut:
Full Code:





