枚举类型与结构体2019.8.2

一、枚举类型:
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();

你可能感兴趣的:(C#学习笔记)