Enum Back

  • 枚舉操作: GetNames(), CompareTo()...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class EnumApp
    {
        // 声明一个枚举类型Weekday,基类为int,访问范围为public
        public enum Weekday
        {
            Sun, Mon, Tue, Wed, Thu, Fri, Sat
        }

        public static void Main()
        {
            // 用枚举类型Weekday声明变量并赋初值
            Weekday wd1 = Weekday.Mon;
            Console.WriteLine("每周的工作日从{0}开始", wd1);
            Weekday wd2 = Weekday.Fri;
            Console.WriteLine("到{0}结束", wd2);

            // 枚举类型变量用于计算
            Console.WriteLine("每周有{0}个工作日", wd2 - wd1 + 1);
            Console.WriteLine();

            // 枚举类型变量作为函数的参数
            Console.WriteLine("Mon之后是{0}", NextDay(Weekday.Mon));
            Console.WriteLine();

            // 使用枚举类型的GetNames()方法
            foreach (string s1 in Weekday.GetNames(typeof(Weekday)))        //Enum.GetName(Type enumtype)检索枚举中常数名称的数组
            {
                Console.Write(s1 + " ");
            }
            Console.WriteLine("\n");

            // 从命令行读取枚举类型变量的值
            Console.Write("今天是星期几? ");
            Weekday wd3 = (Weekday)Weekday.Parse(typeof(Weekday), Console.ReadLine());      //Enum.Parse(Type enumtype,string value)将字符串转换成等效的枚举对象
            Console.WriteLine("明天是{0}", NextDay(wd3));
            Console.WriteLine();

            // 比较枚举类型的值
            Console.Write("体育课在星期几? ");
            wd1 = (Weekday)Weekday.Parse(typeof(Weekday), Console.ReadLine());
            Console.Write("物理试验在星期几? ");
            wd2 = (Weekday)Weekday.Parse(typeof(Weekday), Console.ReadLine());
            if (wd1.CompareTo(wd2) == 0)                                                //Enum.CompareTo(Enum target)    比较对象
            {
                Console.WriteLine("糟糕,在同一天。");
            }
            else
            {
                Console.WriteLine("没事,不在同一天");
            }
        }

        // 功能: 得到某日的下一日(星期几)
        // 参数:
        //        wd : 枚举类型Weekday
        // 返回值: 枚举类型Weekday
        public static Weekday NextDay(Weekday wd)
        {
            Weekday wdnext;
            /*if (wd == Weekday.Sat)
            {
                wdnext = Weekday.Sun;
            }
            else
            {
                wdnext = wd + 1;
            }*/
            if (wd == Weekday.Sat)
                return wdnext = Weekday.Sun;
            else
                return wdnext = ++wd;
        }
    }
}
Empty Comments
Sign in GitHub

As the plugin is integrated with a code management system like GitLab or GitHub, you may have to auth with your account before leaving comments around this article.

Notice: This plugin has used Cookie to store your token with an expiration.