一.数据类型分类:
数据类型:值类型与引用类型
值类型:int,float,bool,char,枚举,结构体
引用类型:类,接口,数组,字符串,委托
int:4字节,float :4字节,bool:1字节 ,char:1字节,double:8字节
二:枚举
1.1枚举的基本概念:被命名的整形常量的集合
1.2声明枚举的语法:
enum E_自定义枚举名{
自定义枚举名0,
自定义枚举名1,
自定义枚举名2
}
1.3枚举的声明位置
namespace class struct
1.4枚举的使用
自定义枚举类型 变量名=自定义枚举类型.枚举项
通常枚举与if或者switch分支语句结合使用
例如:
namespace meiju
{
enum E_Monster
{
normal,
boss,
}
class Program
{
static void Main(string[] args)
{
E_Monster e_Monster = E_Monster.boss;
}
}
}
1.5枚举的类型转换
1.6枚举练习题
//定义QQ状态的枚举,提示用户选择一个在线状态,接收输入数字,并且转换成枚举
namespace meiju
{
enum E_state
{
busy,
offline,
online,
leave,
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("输入0,忙,输入1,离线,输入2,在线,输入3,离开");
int num = int.Parse(Console.ReadLine());
E_state e_State = (E_state)num;
Console.WriteLine(e_State);
}
}
}
//请用户选择英雄性别与英雄职业,最后打印英雄基本属性(攻击力,防御力,技能)
//性别:男(攻击力+50,防御力+100)
//性别:女(攻击力+100,防御力+50)
// 职业:
//战士:(攻击力+200,防御力+100,技能:冲锋)
// 猎人:(攻击力+100,防御力+150,技能:假死)
// 法师:(攻击力+150,防御力+110,技能:法术)
enum E_gender
{
man,
woman,
}
enum E_occupation
{
soilder,
hunter,
magic,
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("输入0选择男,输入1选择女");
E_gender e_Gender = (E_gender)int.Parse(Console.ReadLine());
int atk = 0;
int def = 0;
string sex = "";
string jineng = "";
string profession = "";
switch (e_Gender)
{
case E_gender.man:
atk +=50;
def +=100;
sex = "男";
break;
case E_gender.woman:
atk += 100;
def += 50;
sex = "女";
break;
}
Console.WriteLine("输入0选择战士,输入1选择猎人,输入2选择法师");
E_occupation e_Occupation = (E_occupation)int.Parse(Console.ReadLine());
switch (e_Occupation)
{
case E_occupation.soilder:
atk += 200;
def += 100;
jineng = "冲锋";
profession = "solider";
break;
case E_occupation.hunter:
atk += 100;
def += 150;
jineng = "假死";
profession = "hunter";
break;
case E_occupation.magic:
atk += 150;
def += 110;
jineng = "法术";
profession = "magic";
break;
}
Console.WriteLine("你选择的性别是{0},职业是{1},攻击力是{2},防御力是{3},技能是{4}", sex, profession, atk, def, jineng); ;
}
}
}