首页 > 其他 > 详细

值类型与引用类型

时间:2020-04-06 15:57:57      阅读:47      评论:0      收藏:0      [点我收藏+]

 

最近在做.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值赋给引用类型

值类型与引用类型

原文:https://www.cnblogs.com/hxjnet/p/12642121.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!