C#中值传递 和引用传递的区别在哪里 什么是值专递 什么是引用传递 来个简单点的 谢谢
2个回答
展开全部
这些都是针对方法而言的。
值传递指的是方法被调用时传递进来的参数是一个副本(拷贝),而不是传递进来参数本身。换句话说对值传递参数的修改不会影响到调用方传递的参数对象;
而引用传递指的是方法被调用时传递进来的参数是一个引用,换句话说传递进来的参数是指向调用方传递的参数本身的。对引用传递的参数的修改会影响到调用方传递的参数对象。
给个代码:
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
值传递指的是方法被调用时传递进来的参数是一个副本(拷贝),而不是传递进来参数本身。换句话说对值传递参数的修改不会影响到调用方传递的参数对象;
而引用传递指的是方法被调用时传递进来的参数是一个引用,换句话说传递进来的参数是指向调用方传递的参数本身的。对引用传递的参数的修改会影响到调用方传递的参数对象。
给个代码:
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询