C# 基础之类型(一)

一、类型

    类型总共分为两种,一种是值类型(Value Type),如枚举、结构;另一种是引用类型(Reference Type),如类、接口、委托等。

    值类型

       1,值类型通常分配在线程的堆栈上

       2,作用域结束时,所占空间自行释放,具有高效率

       3,所有的值类型都派生自system.ValueType(system.ValueType 本身就是一个类型,是重写的object的Equals()方法

   4,访问值类型时,一般访问的都是其实例

   5,每个值类型变量都有自己的数据副本,因此对一个值类型的变量的操作不会影响其他的变量

       6,复制值类型变量时,复制的时变量的值,而不是变量的地址

       7,值类型变量不能为null,必须具有一个确定的值

    引用类型

       1,引用类型通常分配在托管堆上

       2,由垃圾回收(CG)来控制其回收,效率低

       3,必须使用关键字new来创建引用类型的变量

       4,多个引用类型变量都可以引用同一个对象,这种情况下,对一个变量的操作会影响另一个变量所引用的同一对象

       5,引用类型被赋值之前的值都是null

      

posted @ 2017-04-26 21:35  小鑫121  阅读(164)  评论(0编辑  收藏  举报