C#的三种复杂变量类型

前面介绍的变量都有一个基本的取值范围,除了String类型之外,每种类型的变量在内存中只占一定数量的字节,下面介绍3种用户自定义的复杂变量。

一. 枚举型

定义枚举型:关键字enum

使用方法:

enum Ename

{

Value1,value2,………….valueN

}

声明一个Ename类型的枚举变量 Ename  myenum=Ename.value;默认情况下枚举类型的类型是int,value1,value2等的值默认从0依次递增1。同时也可以使用其他类型。请看例题:

enum Days

{

Monday=1,

Tursday=2,

Wensday=3,

Thursday=4,

Friday=5,

Saturday=6,

Sunday=7

}

enum Days :short

{

}

使用

Days myday = Days.Friday;

Console.WriteLine("myday is{0}  :",myday);

输出结果如下图所示:

 

myday isFriday: 

 

定义enum的位置

nanespace ceshi

{

         enum Days:short

         {

                   Monday=1,

                   Tursday=2,

                    Wensday=3,

                    Thursday=4,

                    Friday=5,

                    Saturday=6,

                    Sunday=7

         }

枚举型的基本类型可以是byte,sbyte,long ,short,ushort,int ,uint,ulong.

二. 结构体

结构体定义和使用的方法和枚举类型差不多,只是在结构体中所有定义的变量都可以有自己的"类型"及"修饰符",而在一个枚举型变量的值只能是枚举对应类型值中的一个,在上面的例题中Days myday的值只能是一个星期中的某一天。同样我们先看一个结构体的使用过程。

struct Cloth  //结构体名字

{

public int age;//衣服使用寿命

public string sex;//合适性别

public string style;//款式

public double price;//价格

public double count;//折扣

}

Cloth mycloth;

mycloth.age = 2;

mycloth.count = 0.98;

mycloth.price = 999.99;

mycloth.sex = "man";

mycloth.style = "长裤";

输出是:

Console.WriteLine("结构体数据输出:"); 

Console.WriteLine("age={0},sex={1},style={2},price={3},count={4}",mycloth.age,mycloth.sex,mycloth.style,mycloth.price,mycloth.count);

结果是:

 

结构体数据输出:

age=2,sex=man,style=长裤,price=999.99,count=0.98 

 

三. 数组

数组是用来存储大量类型一样而数值不一样数据的。例如在一个班级的同学信息中,用一个字符串数组来保存所有同学的姓名。

string[] StuNames = new string[5];

StuNames[0] = "国家";

StuNames[1] = "人们";

StuNames[2] = "中国";

StuNames[3] = "汉族";

StuNames[4] = "主席";

foreach (string sName in StuNames)

Console.WriteLine(sName);

输出结果图:

国家

人们

中国

汉族

主席

数组的使用包括数组声明和初始化,在定义数组时,数组的长度是一个常数,不能用个变数来表示:例如: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]表示第二个学生第三门课程的成绩,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值