C#中传递参数的类型

来源:互联网 发布:淘宝托管代运营 编辑:程序博客网 时间:2024/05/28 14:57

和C++中一样,C#中可以通过传递值和传递引用两种方式给方法传递参数。二者的区别是:通过引用传递时,被调用的方法得到的就是这个变量,所以在方法内部对这个变量所做的任何改变在方法退出后仍然有效;通过值传递,则被调用的方法得到的只是变量的一个副本,方法内部对变量所做的改变操作不会影响原来变量的值。

对于复杂的数据类型,显然按引用传递的效率更高,因为按值传递的话必须复制大量数据。类是采用引用进行传递,而结构采用值传递。这也是结构只适合较小数据结构的一个原因。

基本数据类型,如int,bool,long等都是采用值类型传递,但是可以采用如下两种方式使其按引用传递。

1、ref关键字。如果把一个参数传递给方法,且这个方法的输入参数前带有ref关键字,则参数变为按引用传递,方法对变量的任何改变都会影响原始变量的值。

2、out参数。使用与ref关键字类似,不同的是它可以不对传递的参数初始化就把该参数传递给方法,方法对参数做修改,相当于给原始变量赋值。

原创粉丝点击