区别:
1.值类型继承valueType而valueType继承Object,引用类型继承Object
2.值类型内存不由GC控制,而引用类型的内存有GC控制
3.值类型是密封的,不能作为其他类的基类,,而引用类型可以
4.值类型不能实现继承,只能继承接口,而引用类型可以实现继承
5值类型不具有多态,而引用类型有多态
6.值类型不可能为null,会被初始化为0,引用类型是null(表示不指向任何托管堆地址)
public class ValTyIn
{
public string str { get; set; }
public static void MothDow()
{
char cstr = 'a';
}
}
public string str { get; set; }和char cstr = 'a';
在内存分配上面有什么区别:
public string str { get; set; }作为引用类型的一部分,会被分配到托管堆上面去,
char cstr = 'a';作为局部变量被分配到堆栈上面