引用类型 与 值类型

C#

简单类型,结构类型,枚举类型是值类型,存储在栈上;

接口,类,字符串,数组,委托都是引用类型,存储在推中;

如图,可以表示它们的存储原理,a1,b1为值类型,值存储在栈中,在栈中有个地址;a2,b2为引用类型,值存储在堆中,栈中存放的堆中地址,在栈中也有个地址。

所以,值类型赋值,是把a1的值赋给b1,修改b1不影响a1;引用类型赋值,是把a2的地址赋给b2,两个变量指向相同的值,对其中一个修改另一个也被修改。

猜你喜欢

转载自www.cnblogs.com/cdut-yy/p/9696945.html
今日推荐