您的位置:首页 > 汽车 > 新车 > 山东外贸网站推广_自己制作app需要什么_百度电话客服24小时_宁波网站关键词优化排名

山东外贸网站推广_自己制作app需要什么_百度电话客服24小时_宁波网站关键词优化排名

2024/9/23 19:11:25 来源:https://blog.csdn.net/grapefruit_lyy/article/details/142384068  浏览:    关键词:山东外贸网站推广_自己制作app需要什么_百度电话客服24小时_宁波网站关键词优化排名
山东外贸网站推广_自己制作app需要什么_百度电话客服24小时_宁波网站关键词优化排名

目录

C#区分值类型和引用类型

1. 存储位置

2. 数据类型

3. 赋值

4. 默认值

5. 内存管理


       本篇文章来分享一下C#的值类型和引用类型,主要从存储位置,数据类型,赋值,默认值,内存管理5个方面进行区分。

C#区分值类型和引用类型

1. 存储位置

1)值类型:在栈上分配内存。存储的是数据本身

2)引用类型:在堆上分配内存。存储的是数据的引用(内存地址)

2. 数据类型

1)值类型:byte,short,int,long,float,double,decimal,bool,char,struct,enum

2)引用类型:string字符串,数组,class类,interface接口,delegate委托

3. 赋值

1)值类型:赋值时复制数据。修改一个变量不会影响其他变量

2)引用类型:赋值时复制引用。修改对象会影响所有引用该对象的变量

//值类型
int a = 5;
int b = a; //复制值
b = 10; //a仍为5//引用类型
int[] arr1 = new int[] { 666 };
int[] arr2 = arr1;
arr1[0] = 888;
Console.WriteLine(arr2[0]);//888

4. 默认值

1)值类型:默认值为该类型的零值(如 0、false)

2)引用类型:默认值为 null,表示没有指向任何对象

5. 内存管理

1)值类型:不需要垃圾回收,通常更轻量

2)引用类型:由垃圾回收机制管理,可能导致更高的内存开销

总结而言,值类型更适合存储小型数据,而引用类型适合处理复杂对象。

       好了,本次的分享到这里就结束啦,希望对你有所帮助~

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com