1、ref关键字
- 方法定义与调用都必须显示使用关键字。
- ref作为参数时,必须提前初始化。否则会报错。
- 通过ref可以解决C#只能有一个返回值的问题。
2、下面代码运行结果为:5。
static void Main(string[] args)
{
int a = 1;
Test(ref a);
Console.WriteLine(a);
Console.ReadLine();
}
private static void Test(ref int x) {
x = 5;
}
3、out关键字
- 方法定义与调用都必须显示使用关键字。
- 无论out数据是否被初始化,必须在方法内对其赋值。
static void Main(string[] args)
{
int a = 1; ;
Test(out a);
Console.WriteLine(a);
Console.ReadLine();
}
private static void Test(out int x) {
x = 5;
}
5、总结
ref和out参数的效果一样,都是通过关键字找到定义在函数里面的变量的内存地址,并通过方法体内的语法改变
它的大小。
不同点就是ref参数必须初始化,out必须在函数内赋值。