c# 参数传递
c#类型有值类型与引用类型.
无论哪种类型的变量,作为方法的参数进行传递时,默认是以"值传递"方式来传递的.
传递给方法的形参,在执行时都会新创建一个局部变量,然后接受实参的值,
而这个值可以是一个基本类型,也可以是一个引用.
所以值类型的形参,作用域仅在函数内部,执行完就消失了.
引用类型的形参,方法内部的局部变量指向堆上的一个对象,
调用完之后,局部变量也会消失,但是如果修改这个引用的值,
会保留在堆上.
但是如果你在方法内部给这个局部变量new一个新值,
则就是又在堆上分配一个新的对象,这个变量指向这个对象.
和原来传递过来的就没有关系了.
但是在方法执行完之后,这个局部变量就会消灭,然后堆上的对象就没有变量
引用它,它也会纳入GC回收的范围.
那么我如何查看这些变化呢?如何验证我说的这些话呢?
使用clrprofiler, 但不太理解其中的内容.
Looking for a job working at Home about MSBI