#.net keyword, ref keyword - allows parameters to be passed by reference. The effect is that when control is passed back to the calling method, any changes made to the parameters in the method will be reflected in the variable; it is also equivalent to passing value type data by reference. To use the ref parameter, both the method definition and the method call must explicitly use the ref keyword. ref is the abbreviation of Reference.
For example:
class RefExample { static void Method(ref int i) { i=44; } static void Main() { int val=0; Method(ref val);//val is now 44 } }
The parameters passed to the ref parameter must be initialized first. This is different from out , whose parameters do not need to be explicitly initialized before being passed. Although ref and out are handled differently at runtime, they are handled the same way at compile time. Therefore, if one method takes a ref parameter and another method takes an out parameter, both methods cannot be overloaded.
Note: Properties are not variables and therefore cannot be passed as ref parameters.
The above is the detailed content of what is ref. For more information, please follow other related articles on the PHP Chinese website!