C#语言基础
lesson#5 结构体+结构体
内容:
1. 枚举,结构体,访问修饰符前言;
2. 枚举;
3. 结构体;
1,前言: 枚举,结构体,访问修饰符都要写在class之前
//枚举:又称为一一列举,把要取的值列举出来,然后在列举的值里面选择要赋的值
//枚举一般定义在类的外面,语法格式:
//enum枚举类型名{值1,值2...}
//enum是关键字,用来定义一个枚举类型的,自定义的类型名字首字母均要大写
//系统会给枚举值赋一个默认的int类型的值,第一个枚举值为0,第二个为1,以此类推,因此枚举值和int类型的值之间可以进行转换
enum Sex
{
男,
女
}
//练习:定义一年四季的枚举
//定义人的动作的枚举
//可以根据解决问题的实际需求,人为的更改枚举值
enum Season
{
Spring=1,
Summer,
Autumn,
Winter
}
enum PlayerStatus
{
Run,
Shoot,
Jump,
Throw,
Eat,
Dance
}
enum LP
{
Normal=2,
Magic=10
}
enum Department
{
市场部=800,
财务部=900
}
enum GameStatus
{
开始游戏,
暂停游戏,
结束游戏
}
enum Week
{
Monday=1,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
enum Things
{
上课,
吃饭,
约会,
运动,
打手卫生,
看电影,
看书
}
//结构体语法格式:
/*
struct 类型名
{
成员
}
*/
//public是访问修饰符,它规定了结构体或者类里的访问权限,结构体里面的变量和方法统一称为结构体的成员,变量称为字段,public所修饰的成员,访问不受限制
struct PersonInfo
{
public string name;
public Sex sex;
public int age;
public string address;
}
struct StudentsInfo
{
public string name;
public int age;
public string StudentID;
public double score;
}
struct Tool
{
//public 表示该成员是公有的,访问不受限制,即在结构体或者类的内部和外部均可被访问
public double PI;
//private表示该成员是私有的,只能在结构体或者类的内部访问,外部不可被访问
//在结构体或类的里面,成员前面不加任何访问修饰符,该成员默认是私有的。
private double radius;
}
2,枚举
//int a = 10;
Sex sex = Sex.男;
//枚举有自注释的作用
Season sea = Season.Spring;
PlayerStatus playstatus = PlayerStatus.Dance;
//要求:从键盘输入1,打印春天,输入2打印夏天,输入3打印秋天,输入4打印冬天;
Console.WriteLine((int)sex);
//把一个int类型的值,转成枚举值
Console.WriteLine((Season)3);
int count = Convert.ToInt32(Console.ReadLine());
Season season = (Season)count;
//if (season==1)
//{
// Console.WriteLine("春天");
//}
//if (season == 2)
//{
// Console.WriteLine("夏天");
//}
//if (season == 3)
//{
// Console.WriteLine("秋天");
//}
//if (season == 4)
//{
// Console.WriteLine("冬天");
if (season == Season.Spring)
{
Console.WriteLine("春天");
}
if (season == Season.Summer)
{
Console.WriteLine("夏天");
}
if (season == Season.Autumn)
{
Console.WriteLine("秋天");
}
if (season == Season.Winter)
{
Console.WriteLine("冬天");
}
switch (season)
{
case Season.Spring:
Console.WriteLine("春天");
break;
case Season.Summer:
Console.WriteLine("夏天");
break;
case Season.Autumn:
Console.WriteLine("秋天");
break;
case Season.Winter:
Console.WriteLine("冬天");
break