C#之方法参数的按值传递和按引用传递

C#之方法参数的按值传递和按引用传递

编码文章call10242025-04-07 15:39:2320A+A-

传递对象是值类型,按值传递后传递进方法的是值的副本,方法外部对象不受影响。

按引用传递传递进方法的是对象的地址,外部对象会受影响。

如果传递对象是引用类型,无论是普通传递还是加上ref或者out,都会更改外部的对象。

如果传递对象是字符串,则类似值类型,要传递引用,必须加ref关键字。

out、ref、params

1)、out参数。

如果你在一个方法中,返回多个相同类型的值的时候,可以考虑返回一个数组。

但是,如果返回多个不同类型的值的时候,返回数组就不行了,那么这个时候,我们可以考虑使用out参数。

out参数就侧重于在一个方法中可以返回多个不同类型的值。

out参数在使用之前必须在方法内部为out参数赋值

out参数无法获取传递进来的变量的值,只能为传递进来的变量赋值,所以在传进来之前即使赋值了也没意义

out参数在方法执行完毕之前必须赋值


2)、ref参数

能够将一个变量带入一个方法中进行改变,改变完成后,再将改变后的值带出方法。值传递改变为引用传递

ref参数要求在方法外必须为其赋值,而方法内可以不赋值。


3)、params可变参数

将实参列表中跟可变参数数组类型一致的元素都当做数组的元素去处理。

params可变参数必须是形参列表中的最后一个参数。

可变参数可以传递参数也可以不传递参数,如果不传递参数,则数组为一个长度为0的数组。不是null。

可变参数可以直接传递一个数组进来

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4