c# void RefFunciton(ref int vaule)
{
vaule += 10;
}
int num = 5;
RefFunciton(ref num);
//输出15
System.Console.WriteLine(num);
c# void OutFunciton(out int a, out int b)
{
a = 10;
b = 20;
}
int x, y;
OutFunciton(out x, out y);
//输出x为10,y为20
System.Console.WriteLine("x的值为{0},y的值为{1}", x, y);
c# int OutFunciton2(int a, out int b, out int c)
{
a = 10;
b = 20;
c = 30;
return a;
}
int x = 0;
int y, z;
int x1 = OutFunciton2(x, out y, out z);
Console.WriteLine("x的值为{0},y的值为{1},z的值为{2}", x1, y, z);
ref
和out
的核心目的都是按引用传递参数,让方法可以修改调用者传入的变量,虽然两者本质上都是引用传递,但 ref
强调“修改已存在的值”,而 out
强调“返回新的值”。这也是为什么 out
参数在方法内部必须赋值,而 ref
参数不强制要求赋值
本文作者:xuxuxuJS
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!