[C#学习笔记]

[C#——菜鸟学习笔记:类型]

类型由以下元素定义:

  • 名称;
  • 用于保存数据成员的数据结构;
  • 一些行为及约束条件;

类型的分类

预定义类型和用户定义类型

C#提供了16中预定义类型,及用户可以创建自己的6种用户定义类型,具体如下:
[C#学习笔记]

#值类型和引用类型

值类型: 需要一段单独的内存,用于存储实际的数据,位于中。
引用类型: 需要两段内存,一段位于中用于存储实际的数据;一段位于中存储引用(引用是用来指向数据在堆中的存放位置)。

  • 注: 引用类型的数据是存储在堆中,该引用类型数据所包含的所有成员(可以是值类型或引用类型)全部存放在堆中。

    栈和堆 :两个内存区域,用来存储程序运行时的数据。
    栈: 一个内存数组,顶端操作,先进后出。
    堆: 一块内存区域,任意顺序存入和移除,不能显式删除,CLR的GC(Garbage Collector,垃圾收集器)自动清除无主的堆对象。

值类型包含预定义类型中的简单类型和用户定义类型中的 结构(Struct)枚举(Enum)
引用类型包含预定义类型中的非简单类型和用户定义了类型中的类(Class)数组(Array)委托(Delegate)接口(Interface)