初级知识点一——C#中的值类型与引用类型

从C#语言的定义中可以知道,C#支持两种值类型,分别是 值类型和引用类型,那么两者的区别到底在哪儿呢?

值类型特点:

1. 值类型包含

  a 预定义的值类型

  b 用户自定义的值类型(struct)

2. 值类型全部隐式派生自 Sytem.ValueType。

3. 所有的值类型全都是密封(seal)的,所以无法派生出新的值类型。

4. 值类型的实例通常在县城栈上分配存储空间,但是有些时候是在堆中。

  a:比如一个引用类型的实例包含了一个值类型的实例。

5. 值类型不能包含null值。

 

引用类型特点:

1. 引用类型均继承自System.Object.

2. 引用类型可以派生出新的类型。

3. 引用类型可以包含Null值。

4. 引用类型变量的赋值只是赋值对对象的引用,而不是复制对象本身。

5. 引用类型的对象总是在进程堆中动态分配。

posted @ 2017-07-02 22:35  gameDesigner  阅读(187)  评论(0编辑  收藏  举报