C#中值传递 和引用传递的区别在哪里 什么是值专递 什么是引用传递 来个简单点的 谢谢

2024-11-06 05:10:27
推荐回答(2个)
回答1:

这些都是针对方法而言的。
值传递指的是方法被调用时传递进来的参数是一个副本(拷贝),而不是传递进来参数本身。换句话说对值传递参数的修改不会影响到调用方传递的参数对象;
而引用传递指的是方法被调用时传递进来的参数是一个引用,换句话说传递进来的参数是指向调用方传递的参数本身的。对引用传递的参数的修改会影响到调用方传递的参数对象。
给个代码:

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

回答2:

值传递是传内容,引用传递是传指针,完毕。