值类型的数据保存在栈中,引用类型的引用保存在栈中,实际数据保存在堆中。
值类型参数传入方法是参数复制了一份独立的数据传入,而引用类型参数传入时复制引用,实参和形参指向堆中的同一对象。
例子:
class MyClass
{
public int Val=20;
}
class Program
{
static void MyMethod(MyClass f1,int f2)
{
f1.Val=f1.Val+5;
f2=f2+5;
Console.WriteLine("f1.val:{0},f2:{1}",f1.Val,f2);
}
static void Main()
{
MyClass a1=new MyClass();
int a2=10;
MyMethod(a1,a2);
Console.WriteLine("f1.Val:{0},f2:{1}",a1.Val,a2);
}
}
输出:f1.val:25,f2:15
f1.val:25,f2:10
https://www.cnblogs.com/moonache/p/6063051.html