码迷,mamicode.com
首页 > 其他好文 > 详细

值类型与引用类型

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

标签:存储   多次   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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!