C#中以值和引用传递参数(值或者引用)是非常让人头疼的东西。万一搞不清楚其中的原理,就会出现异想不到的东西。
以值传递方式最终的理念是拷贝原始变量,得到一个副本,然后传递出去。它有2种变量可以传递
1。值:这种就无须解释了
2。引用:就相当于下面的程序
int b=4;
int *pointer=&b;
int *TempPointer=CopyPointer(pointer); //CopyPointer(实际上没有此函数)指把pointer指针拷贝一份,赋给TempPointer
int *Param=TempPointer; //Param指函数参数的变量
以引用传递最终的理念是取得原始变量的一个地址,把地址传递给参数变量
1。值:就相当于如下程序
int b=4;
int *Param=&b;
2.引用
int b=4;
int *pointer=&b;
int *Param=pointer
http://blog.csdn.net/downmoon/archive/2006/03/02/614056.aspx
这篇文章写的挺好。大家也可以看一下。