前面介绍的变量都有一个基本的取值范围,除了String类型之外,每种类型的变量在内存中只占一定数量的字节,下面介绍3种用户自定义的复杂变量。
一. 枚举型
定义枚举型:关键字enum
使用方法:
enum Ename
{
Value1,value2,………….valueN
}
声明一个Ename类型的枚举变量 Ename myenum=Ename.value;默认情况下枚举类型的类型是int,value1,value2等的值默认从0依次递增1。同时也可以使用其他类型。请看例题:
枚举型的基本类型可以是byte,sbyte,long ,short,ushort,int ,uint,ulong.
二. 结构体
结构体定义和使用的方法和枚举类型差不多,只是在结构体中所有定义的变量都可以有自己的值,而在一个枚举型变量的值只能是枚举所有值中的一个,在上面的例题中Days myday的值只能是一个星期中的某一天。同样我们先看一个结构体的使用过程。
输出是:
Console.WriteLine("结构体数据输出:");
Console.WriteLine("age={0},sex={1},style={2},price={3},count={4}",mycloth.age,mycloth.sex,mycloth.style,mycloth.price,mycloth.count);
结果是:
三. 数组
数组是用来存储大量类型一样而数值不一样数据的。例如在一个班级的同学信息中,用一个字符串数组来保存所有同学的姓名。
数组的使用包括数组声明和初始化,在定义数组时,数组的长度是一个常数,不能用个变数来表示:例如:int[] score = new int[7]; int []score=new int [const Size];或者int[] EnglishScore ={ 1, 5, 6, 8, 5, 7, 74 };
数组在访问之前必须初始化,如果只定义了而没有初始化则会出现错误的。
多维数组:可以根据需要定义不同维数的数字,一维,二维数组使用的比较多,而3维以上的数组使用频率就罕见了。例如定义一个二维数组来表示某个班级30个人的三门课程的成绩,double [] stuScore=new double[30][3],那么stuScore[1][2]表示第二个学生第三门课程的成绩,这些例子不多说了,大家要编程亲自体会。