博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 堆与栈、值类型与引用类型、可空类型
阅读量:7081 次
发布时间:2019-06-28

本文共 589 字,大约阅读时间需要 1 分钟。

1.堆与栈

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

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

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

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

2.值类型与引用类型

 

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

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

3.可空类型

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

只需在在DateTime类型后加个?

这就是可空类型

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

1、System.Nullable<T> variable

2、T? variable

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

以上……

转载地址:http://srlml.baihongyu.com/

你可能感兴趣的文章
SQL-31 获取select * from employees对应的执行计划
查看>>
LAMP攻略: LAMP环境搭建,Linux下Apache,MySQL,PHP安装与配置
查看>>
怎么让XP屏保图片显示为全屏
查看>>
用border画图
查看>>
window活动目录——操作主机
查看>>
Java内存解析
查看>>
fckeditor jsp配置
查看>>
.每隔5秒查看hadoop用户是否登录,如果登录,显示其登录并退出;否则,显示当前时间,并说明hadoop尚未登录...
查看>>
LVS集群的基本原理、LVS/NAT模式的配置、LVS/DR模式的配置、编写自动脚本检查LVS上realserver健康性...
查看>>
A very hard Aoshu problem
查看>>
QOS
查看>>
Locale java
查看>>
【转】Android 环境变量 和 AVD 环境变量 配置
查看>>
使用Weka进行数据挖掘
查看>>
关于计算机信息系统集成项目经理资质申报的补充通知
查看>>
飞机大战小游戏
查看>>
中国物联网的随笔
查看>>
VMware虚拟机linux系统时间同步的解决办法
查看>>
13个强大的Linux性能监测工具(八)
查看>>
fsck修复受损的文件系统
查看>>