A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

用实例说明枚举的应用...

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

3 个回复

倒序浏览
    public enum Gender { 男, 女 }   
    class Program
    {
        static void Main(string[] args)
        {
           //枚举类型定义,结构学习
        Gender sex;
            Console.WriteLine("请输入你的性别");
            string s = Console.ReadLine();
            try
            {
                sex  = (Gender)(Enum.Parse(typeof(Gender), s));
                Console.WriteLine("你输入的性别为:" + sex);
            }
            catch
            {
                Console.WriteLine("你输入的性别有误");
            }
           Console.ReadKey();

输入性别为男(女),则显示你输入的性别为男(女)
如果输入的不是男(女),则显示你输入的性别有误

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
枚举的作用是,以有限的值来给用户选择,在枚举类型中选择就不容易出错。如果是字符串的话,在转换过程中可能出现类型失败的问题,
使用枚举类型  
using   System;  
public   enum   TimeofDay  
{  
      Morning,  
      Afternoon,  
      Evening  
}  
class   Test  
{  
      static   void   WriteGreeting(TimeofDay   timeofDay)  
     {  
               switch(timeofDay)  
            {  
                    case   TimeofDay.Morning:  
                          Console.WriteLine( "good   morning ");  
                     break;  
                    case   TimeofDay.Afternoon:  
                          Console.WriteLine( "good   afternoon ");  
                    break;  
                    case   TimeofDay.Evening:  
                          Console.WriteLine( "good   evening ");  
                    break;  
            }  
     }  
            static   void   Main()  
          {  
                 WriteGreeting(TimeofDay.Morning);  
                 WriteGreeting(TimeofDay.Evening);  
                 WriteGreeting(TimeofDay.Afternoon);  
          }  
}

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
枚举和字符串比起来用枚举的好处就是限定了变量的取值范围。例如下面的事例,定义枚举之后,调用QQstatus加“.”,它只提示定义的三个,强制写上其他的也会报错提醒。
enum QQstatus {online,offline,hidden}//online表示在线,offline表示不在线,hidden表示隐身

    class Program
    {
        static void Main(string[] args)
        {

            QQstatus a = QQstatus.online;
           
            if (a == QQstatus.online)
            {
                Console.WriteLine("在线");

            }
            else if (a == QQstatus.hidden)
            {
                Console.WriteLine("隐身");

            }
            else if (a == QQstatus.offline)
            {
                Console.WriteLine("不在线");

            }
            Console.ReadKey();

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马