C#数组 枚举 结构

时间:2022-08-30 19:47:30

C#数组操作

隐式类型本地数组

Var b=new[] {1,2,3,4,5,6,7,8,9,0},必须在声明时给数组赋初值。

同隐式类型字段一样,var数组也是根据第一个数组元素的类型来确定,而不是默认为object类型,因此,必须保证每个数组元素类型都相同


C#枚举类型

默认情况下,枚举类型保存的枚举值存储类型(C#int)类型,若要改变其存储类型则可以

Enum EmpType:byte
{
Manager=10,
Grunt=1,
Contrator=100,
VicePresident=9
}

此时,枚举类型中存储的类型就是byte类型

C#结构类型

关于结构体的几点注意:

结构体是值类型,与其他值类型数据一样存放在栈空间,在C#中,所有的基本值类型都是以结构的形式存在的

2 C#中结构体本身具有一个默认无参构造函数,并且可以声明自定义构造函数,但与类的构造函数不同的是,即使用户自定义了构造函数,原有的默认无参构造函数还会存在,所以,用户只能自定义有参构造函数,否则,将会与原有默认无参构造方法产生冲突。即使,自定义了构造函数,还是可以调用默认构造函数的。

在结构体中声明字段时,不能直接对字段进行初始化赋值,只能通过方法或属性来赋值,默认情况下有默认无参构造函数会初始化各个字段为默认值,若用户自定义构造函数,就必须将每个字段通过方法或属性都进行初始化赋值。

结构体本身是隐式sealed类型,因此结构体本身不具有继承性,结构体不能继承自类,但可以继承自接口

同类一样,结构体中默认的数据是私有成员,在结构体中可以声明方法(C++有区别)