ref 就是 在方法参数里定义时,必须要在调用方法传参之前,给变量赋值
如下:
static void Main(string[] args)
{
int[] a = { 1, 23, 45 };
int b;
int c;
RefParamFun(ref d, ref e);
Console.WriteLine(d);
Console.WriteLine(e);
Console.ReadKey();
}
/**
* ref 方法外
* 必须赋值
*/
public static void RefParamFun(ref int a, ref int b )
{
a = a + b;
b = a - b;
a = a - b;
}
params 就是 可以在调用方法是,数组的成员可以列出来,使用方法如下:
static void Main(string[] args)
{
paramsPamFun(2, 2, 3, 4, 5);
Console.ReadKey();
}
/**
* 可变数组参数
*/
public static void paramsPamFun(int a ,params int [] b)
{
Console.WriteLine(a);
for (int i = 0; i < b.Length; i++)
{
Console.WriteLine(b[i]);
}
}
out 和ref 相反,调用方法参数被out修饰的方法时,被out修饰的参数变量,在声明后可以不用赋值,但是在方法体内必须赋值,使用方法如下:
static void Main(string[] args)
{
int[] a = { 1, 23, 45 };
int b;
int c;
OutParamFun(a, out b, out c);
Console.WriteLine(b);
Console.WriteLine(c);
Console.ReadKey();
}
/**
* out 就是把参数传出去
* 方法内必须赋值
*/
public static void OutParamFun(int[] a, out int b ,out int c)
{
b = a[0];
c = a[1];
}
以上就是三种修饰符的使用方法。