初级知识点一——C#中的值类型与引用类型
从C#语言的定义中可以知道,C#支持两种值类型,分别是 值类型和引用类型,那么两者的区别到底在哪儿呢?
值类型特点:
1. 值类型包含
a 预定义的值类型
b 用户自定义的值类型(struct)
2. 值类型全部隐式派生自 Sytem.ValueType。
3. 所有的值类型全都是密封(seal)的,所以无法派生出新的值类型。
4. 值类型的实例通常在县城栈上分配存储空间,但是有些时候是在堆中。
a:比如一个引用类型的实例包含了一个值类型的实例。
5. 值类型不能包含null值。
引用类型特点:
1. 引用类型均继承自System.Object.
2. 引用类型可以派生出新的类型。
3. 引用类型可以包含Null值。
4. 引用类型变量的赋值只是赋值对对象的引用,而不是复制对象本身。
5. 引用类型的对象总是在进程堆中动态分配。