C# 参数 传递

C++\CLI&C#.NET 09:32:15
建立一个对象,最先会在栈里产生一个地址.这就是我们说的引用.然后在堆里有实际的对象.用new的时候就可以把栈的地址指到堆的对象.所以不用ref也是传地址.
C++\CLI&C#.NET 09:33:45
因为c#中都是传的是栈的内容.int型直接就在栈里面了.传的就是它本生的一个副本.

=========From Msdn==========
引用类型的变量不直接包含其数据;它包含的是对其数据的引用。当通过值传递引用类型的参数时,有可能更改引用所指向的数据,如某类成员的值。但是无法更改引用本身的值;也就是说,不能使用相同的引用为新类分配内存并使之在块外保持。若要这样做,应使用 refout 关键字传递参数。

试图将参数重新分配到不同的内存位置时,该操作仅在方法内有效,并不影响原始变量

PS:要改变传递值 就 ref
文字发表于: http://ysoho.cnblogs.com 作者Homepage:http://www.ysoho.com  COPY 请保留 此声明
原文地址:https://www.cnblogs.com/Ysoho/p/1222155.html