标签:存储 多次 bsp net开发 理解 赋值 不同 引用类型 null
最近在做.NET开发的时候,同一个对象多次赋值,结果最终的List的内容完全一样,后来明白是值类型与引用类型未能理解透出
1、值类型与引用类型存储在不同的位置上,值类型存储在堆栈上,引用类型存储在托管堆上,这意味着值类型的每一次赋值都会创建该值的一个拷贝,而引用类型的每一次赋值都只是重新创建了一个引用,而不会在创造一个对象;
int i=1;
int a=i;
i=2;
int b=i;
此时 i是一个值类型,所以a,b实际上是对i的值进行了拷贝,此时a=1,b=2;
x = new Vecyor();
x.value = 50;
y=x;
y.value = 30;
此时 x,y都是引用类型,他们都表示对同一个对象的引用,所以y.value改变的同时x.value也改变了,即x.value ==y.value==30
2、由于引用类型是存储的对象的引用,则可将NULL值赋给引用类型
标签:存储 多次 bsp net开发 理解 赋值 不同 引用类型 null
原文地址:https://www.cnblogs.com/hxjnet/p/12642121.html