1.区别:
(1)从概念上看,值类型直接存储其值,而引用类型存储对值的引用。这两种存储在内存的不同的地方;值类型存储在堆栈中,而引用类型存储在托管堆上。
(2) 在使用时要注意区分某个类型是值类型还是引用类型,因为它们存储位置不同会造成不同的影响。
例1:int是值类型,下面的语句会在内存的两个地方存储值20;
int i=20;
int j=20;
例2:定义一个类Vector,Vector是一个引用类型,它有一个int类型的成员变量Value:
Vector x,y;
x=new Vector();
x.Value=30;
y=x;
Console.WriteLine(y.Value)
y.Value=50;
在执行这段代码后,只有一个Vector对象,x,y都指向包含该对象的内存位置,因为它们是引用类型的变量,声明这两个变量只保留一个引用,而不会实例化给定类型的对象,因为x,y引用同一个对象,所以它们之间的改变是互相影响的,所以上面代码结果是:30和50.