• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#堆与栈、值类型与引用类型、可空类型

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1.堆与栈

栈是一种先进后出的数据结构,是编译期间就分配好的内存空间,因此你的代码中必须就栈的大小有明确的定义。栈中每个指针(当运行到那个变量时)会指向堆中的某一内存区域或说是空间。

堆(heap)就直接是内存区域了,它是为了栈的引用而开发内存的。通常内置变量就是值类型是被保存在栈中的。其他由.NET框架(Framework)提供的,或者是我们自己定义的对象即引用类型,一般被创建在堆中并将由栈中变量引用。是程序运行期间动态分配的内存空间,你可以根据程序的运行情况确定要分配的堆内存的大小。

栈上存储的是:值类型,引用类型的“地址”

堆上是:引用类型的“对象”或者是引用类型的实际值,可空类型

2.值类型与引用类型

 

值类型:数值型 字节  布尔  结构 枚举 ,他们都继承自System.ValueType


引用类型:类  接口  委托 对象  字符串,他们都继承自System.Object

3.可空类型

在VS中敲完代码一看报错了

只需在在DateTime类型后加个?

这就是可空类型

可空类型可以表示基础类型的所有值,另外还可以表示 null 值。可空类型可通过下面两种方式中的一种声明:

1、System.Nullable<T> variable

2、T? variable

T 是可空类型的基础类型。T 可以是包括 struct 在内的任何值类型;但不能是引用类型。

以上……


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
CF662C Binary Table 【状压 + FWT】发布时间:2022-07-14
下一篇:
[存底]使用C#压缩/解压缩7-zip文件 zip/Unzip file using 7-zip in C#发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap