源代码特征

  • 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# 图解教程