枚举 |
c#视频–变量和常量和常用数据类型
直接举个例子,大家就明白了。
public enum Direct
{
//枚举值:东,南,西,北
east,
west,
south,
north
}
public enum Gender
{
男,
女
}
我对枚举的理解:枚举就是将可能的有限的值放在一起,规定好了几个确定的值,那为什么要这样做呢???
举个例子表示“女”的词汇有很多,比如女生,女孩,美女,等等等,没有一个统一的规定,每个人用的名称都不一样,比如要在数据库中检索,我到底查女生呢还是查美女呢,这样查出来会不会有遗漏产生呢。而引入枚举之后,枚举值限定了变量的取值范围,不管是美女还是女汉子,都统一用“女”来表示,这样就更加的规范了。
注意:枚举可以强转为int类型,枚举值实质上本质上就是int类型。(在上篇博客中有详细介绍)
通常情况下,最好是在命名空间内直接定义枚举,以便该命名空间中的所有类都能够同样方便的访问它。
Gender gender = Gender.女;
int num = (int)gender;
Console.WriteLine(num);
Console.ReadKey();
//将字符串类型转换为枚举类型
Gender g = (Gender)(Enum.Parse(typeof(Gender),"男"));
结构体 |
老师要统计班长的姓名、年龄、性别、邮箱和家庭住址,这时候我们要分别声明五个变量来存储这五个信息。如果按照同样的思路,老师要统计全班的信息的时候,假设全班有30个人,那么这时候是不是就要声明150个变量呢?人数越多,我们需要声明的变量就越多,如何解决这个问题呢,这时候就要引入结构体了。
举个例子:下面就用到了People这个结构体,在结构体里面声明了姓名、年龄、性别、电话、地址这五个变量,后面张三和小兰都是用的这五个变量。没有在重新声明新的变量。
//结构体声明语法
[访问修饰符] struct 结构名
{
//结构体
}
//在命名空间中声明
public struct People
{
public string _name;
public Gender _gender; //在这里用到了上面所定义的枚举
public int _age;
public string _address;
public string _telephone;
}
//在main主函数中使用
People ZsPeople;
ZsPeople._name = "张三"; //张三的姓名
ZsPeople._sex = Gender.男; //张三的性别,用到了枚举
ZsPeople._age = 21; //张三的年龄
ZsPeople._telephone = "234576878"; //张三的电话
ZsPeople._address = "河北省廊坊市"; //张三的地址
People XlPeople;
XlPeople._name = "小兰"; //小兰的姓名
XlPeople._sex = Gender.女; //小兰的性别,用到了枚举
XlPeople._age = 23; //小兰的年龄
XlPeople._telephone = "1841111111"; //小兰的电话
XlPeople._address = "河北省沧州市"; //小兰的地址
【总结】从上面的例子中,我们可以看出结构体是用来一次性的声明多个不同类型的变量的。而下面要讲的数组,则是用来一次性声明多个相同类型的变量的。
数组 |
//第一种
int[] nums = new int[10]; //长度为10,索引为0-9,int类型
//第二种
int[] nums2 = new int[] { 1, 2, 3, 4, 5 }; //数组长度为5,下标为0-4,存了5个值,中括号没有值,但是大括号里面有元素数,有5个元素,所以断定此数组只能存5个值
//第三种
int[] nums3 = new int[3] {1,2,3 }; //长度为3,下标为0-2,3个值,int类型
//第四种
int[] nums4 = { 1, 2, 3, 4, 5 }; //长度为5,下标为0-4,int类型,5个值
//下面是一种错误的声明,大括号内必须也是5个元素才可以
//int[] nums3 = new int[5] {5,8,3 }; /
下面是变量的赋值和取值:
//赋值
int[] nums = new int[5];
for (int i = 0; i < 5; i++)
{
nums[i] = 10; //给数组中的5个数每一个数都赋值为10
}
//取值
int[] numbers = { 542,567,678}; //数组中有三个数
for (int i = 0; i < 5; i++)
{
Console.WriteLine(numbers[i]); //依次输出数组中的三个数542,567和678
}
Console.ReadKey();
注意
int[i] nums=new int[5];
在这里i叫做下标或者索引,从0开始,通过下标和索引可以对数组进行取值或者赋值。