这些都是针对方法而言的。
值传递指的是方法被调用时传递进来的参数是一个副本(拷贝),而不是传递进来参数本身。换句话说对值传递参数的修改不会影响到调用方传递的参数对象;
而引用传递指的是方法被调用时传递进来的参数是一个引用,换句话说传递进来的参数是指向调用方传递的参数本身的。对引用传递的参数的修改会影响到调用方传递的参数对象。
给个代码:
public void 参数值传递方法(int i)
{
i = 10;
}
public void 参数引用传递方法(ref int i)
{
i = 10;
}
然后调用的 Main 方法:
public static void Main(string[] args)
{
int a = 30;
参数值传递方法(a);
Console.WriteLine("a = {0}", a);
参数引用传递方法(a);
Console.WriteLine("a = {0}", a);
}
输出结果如下:
30
10
值传递是传内容,引用传递是传指针,完毕。