The ref method parameter keyword on a method parameter causes a method to refer to the same variable that was passed into the method. Any changes made to the parameter in the method will be reflected in that variable when control passes back to the calling method.
To use a ref parameter, the argument must explicitly be passed to the method as a ref argument. The value of a ref argument will be passed to the ref parameter.
An argument passed to a ref parameter must first be initialized. Compare this to an out parameter, whose argument does not have to be explicitly initialized before being passed to an out parameter.
A property is not a variable and cannot be passed as a ref parameter.
using System;
public class MyClass {
public static void Ref(ref char x)
{
// The value of i will be changed in the calling method
x = 'a';
}
public static void NoRef(char x)
{
// The value of i will be unchanged in the calling method
x = 'b';
}
public static void Main()
{
char i = ''; // variable must be initialized
Ref(ref i); // the arg must be passed as ref
Console.WriteLine(i);
NoRef(i);
Console.WriteLine(i);
}
}
Niciun comentariu:
Trimiteți un comentariu