源代码特征
- C : 一组函数与数据结构
- C++ : 一组函数和类
- C# : 一组类型
类型: 用来创建数据结构的模板,由下面元素组成:
- 名称
- 用于保存数据成员的结构
- 一些行为与约束条件
C# 预定义类型
C#用户定义类型
- class
- struct
- array
- enum
- delegate
- interface
堆/栈
程式运行时,数据必须存在于内存的这两个区域中.
栈是内存数组,Last-In-First-Out数据结构.存储:
- 某一些变量的值
- 程式当前执行环境
- 传递组方法参数
- Push/pop
堆存放没有顺序,不能手动删除. CLR的Garbage Collector自动清除无主堆对象.
值类型与引用类型
值类型只需要单独的区域,用于存放实际数据,可存放放于堆中,也可存于栈中,依于实际环境.
引用类型需要两个内存区域,第一段是堆中的数据,第二段是指向堆的数据的存放位置
C#引用类型:
object
string
dynamic
class
interface
delegate
array
其它为值类型
值类型本身不可为空.如为空則需申明为空类型
参考: C# 图解教程