结构体及引用类型
结构体
在平时的开发中很少自己去写结构体,他是一种值类型的数据。对于结构,不像类那样存在继承,一个结构体不能从另一个结构或类继承。但是结构体从基类Object继承。
语法:
//struct是定义结构体的关键字
Struct MyStruct
{
Public string Name{get;set;}
Public int Age{get;set;}
}
值类型和引用类型
什么是“引用类型”:引用类型派生自System.Object
什么是“值类型”:值类型均隐式派生自System.ValueType(ValueType其实也是继承自Object,不过是特立独行的一个分支)
值类型有哪些:数值类型(int、long、double、float、char)、bool、结构体、枚举。(在平时写的时候看不到Int32继承自ValueType的原因是编译器帮我们进行了处理)
引用类型有哪些字符串、数组、类、接口等
区别(主要):
引用类型变量的赋值只复制对对象的引用;引用类型在堆内存(malloc);
值类型变量赋值会拷贝一个副本;值类型在栈内存;值类型一定是sealed;