值类型存在栈中,存取速度快,但需要指定分配的内存大小
引用类型数据存到堆中,存取速度稍慢,但此块内存数量大,且不需要指定分配大小//valuetype
int i=0;
int j=i;
j=2;
Console.WriteLine(i);// output 0
Console.WriteLine(j);// output 2
//referencetype
DataTable t1=new DataTable("table1");
DataTable t2=t1;
t2.TableName="table2";
Console.WriteLine(t1.TableName); //output table2
Console.WriteLine(t2.TableName); //output table2这就是区别
引用类型数据存到堆中,存取速度稍慢,但此块内存数量大,且不需要指定分配大小//valuetype
int i=0;
int j=i;
j=2;
Console.WriteLine(i);// output 0
Console.WriteLine(j);// output 2
//referencetype
DataTable t1=new DataTable("table1");
DataTable t2=t1;
t2.TableName="table2";
Console.WriteLine(t1.TableName); //output table2
Console.WriteLine(t2.TableName); //output table2这就是区别
ms-help://MS.NETFrameworkSDKv1.1.CHS/cpguidenf/html/cpconthecommontypesystem.htm
而ValueType又是从Object继承;
对于引用类型它直接继承Object类型。
值类型存在栈(Stack)里面,内存不受GC管理,出了作用域就自动释放。
引用类型存在托管堆(managed heap)里面,出了作用域也不会立即释放,由GC进行管理。