一、枚举类型:
1.值类型(复合),4字节;
2.语法格式
enum 枚举类型名
{
值1,
值2,
…
值n
}
3.实例
1)在main函数外部定义枚举
enum Gender
{
男 = 59, 女, 不男不女
}
enum jiaoyan
{
EVEN, OOO, NULL
}
2)在main函数内部使用
#region 枚举转int
//Gender m_gender = Gender.男;
//int a = (int)m_gender;
//Console.WriteLine(a);
//Console.WriteLine(m_gender);
#endregion
#region int转枚举
//int a = 60;
//Gender m_gender = (Gender)a;//如果数对不上就是原数输出
//Console.WriteLine(a);
//Console.WriteLine(m_gender);
#endregion
#region 枚举如何转字符串
//Gender gender = Gender.不男不女;
//string str = gender.ToString();
//Console.WriteLine(str);
#endregion
#region 字符串转枚举
//串口通讯
string str = "NULL";
jiaoyan gender = (jiaoyan)Enum.Parse(typeof(jiaoyan), str);
Console.WriteLine(gender);
#endregion
二、结构体
1.值类型
2.语法格式
struct 类型名
{
成员;
成员;
…
成员
}
3.实例
1)在main函数外部定义枚举
struct stundentinfo
{
public string _name;//习惯下划线开头
public int _Age;
public char _gender;
public int _id;
}
2)在main函数内部使用
stundentinfo sf; //分配了内存
sf._Age = 9;
sf._gender = '男';
sf._id = 15;
sf._name = "罗老师";
int nummm = Marshal.SizeOf(sf); //查看定义的结构体大小
Console.WriteLine(nummm);
Console.WriteLine("我的姓名是{},我的性别是{1},我的学号是{2},我的年龄是{3}", sf._name, sf._gender, sf._id, sf._Age);
三、练习
1.求200以内的素数
//信号灯手法,要注意bool的重新赋值
bool station = true;
for (int i = 1; i <201; i++)
{
if (i==1)
{
Console.Write(i + " ");
}
else
{
station = true; //布尔的重新赋值
for (int j = 2; j < i; j++)
{
if (i%j==0)
{
station = false;
break;
}
}
if (station)
{
Console.Write(i + " ");
}
}
}
Console.ReadKey();