为了账号安全,请及时绑定邮箱和手机立即绑定

关于引用类型和值类型的小问题?

/ 猿问

关于引用类型和值类型的小问题?

隔江千里 2019-04-06 11:07:12

关于引用类型和值类型的小问题


查看完整描述

3 回答

?
慕侠2389804

值类型和引用类型我的理解是:

值类型就是拿的是自己本身的值
而引用类型拿的是值在内存中的地址

关于堆栈我引用别人的说法:

栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。
堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。

查看完整回答
反对 回复 2019-04-09
?
梵蒂冈之花

C#的值类型包括:结构体(数值类型,bool型,用户定义的结构体),枚举,可空类型。

C#的引用类型包括:数组,用户定义的类、接口、委托,object,字符串。

数组的元素,不管是引用类型还是值类型,都存储在托管堆上。

引用类型在栈中存储一个引用,其实际的存储位置位于托管堆。为了方便,本文简称引用类型部署在托管推上。

值类型总是分配在它声明的地方:作为字段时,跟随其所属的变量(实例)存储;作为局部变量时,存储在栈上。

值类型在内存管理方面具有更好的效率,并且不支持多态,适合用作存储数据的载体;引用类型支持多态,适合用于定义应用程序的行为。

查看完整回答
反对 回复 2019-04-09
?
MM们

C#的数据类型有三大类:
1.数值类型
2.引用类型
3.指针类型(仅用于非安全代码)

其中,
1.1 数值类型包括:结构类型(struct)和枚举类型(enum)
1.1.1 结构类型有:简单类型和用户自定义结构类型
1.1.1.1 简单类型有:整型(byte、sbyte、long、ulong、short、ushort、 int、uint)、浮点数类型(float、double)、十进制类型(decimal)、字符类型(char)、布尔型(bool)

2.1 引用类型又包括:类(class、object、string)、接口(interface)、数组(array)、代理(delegate)
2.1.1 类包括:用户自定义的类、object基类、字符串类

这些就是C#数据类型的组成,具体的信息可以查看MSDN或去MSDN中文网去看下:
http://msdn.microsoft.com/zh-cn/default.aspx



查看完整回答
反对 回复 2019-04-09

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信