首页 > 代码库 > C#枚举

C#枚举

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace ConsoleApplication1
{

    
    //枚举的声明:访问修辞符 enum 枚举名:基础类型
    public enum enumName:int  //这个int可以省略
    {
        枚举成员
    }
    //基础类型必须能够表示该枚举中定义的所有枚举数值。枚举声明可以显式地声明 byte、sbyte、short、ushort、int、uint、long 或 ulong 类型作为对应的基础类型。没有显式地声明基础类型的枚举声明意味着所对应的基础类型是 int。

    //枚举元素的默认基础类型为 int。默认情况下,第一个枚举数的值为 0,后面每个枚举数的值依次递增 1。

    enum Days { Sat, Sun, Mon, Tue, Wed, Thu, Fri }; 
        ↑
    //这样默认的值就是为 enum Days{0,1,2,3,4,5,6},假如您想指定默认的值为1开始,就必须 enum Days{Stat=1,Sun=2, .....}


    //枚举成员是该枚举类型的命名常数。任意两个枚举成员不能具有相同的名称。每个枚举成员均具有相关联的常数值。此值的类型就是枚举的基础类型。每个枚举成员的常数值必须在该枚举的基础类型的范围之内。
    enum gender:uint 
    {
       // Male = -3, Female = -2, Unkown = -1   //产生编译时错误,原因是常数值 -1、-2 和 –3 不在基础整型 uint 的范围内。
    };


    //定义一个枚举,这个枚举有三个值 Moning, Afternoon, Evening 
    enum TimeOfDay { Moning , Afternoon, Evening }; //Morning的值为0,Afternoon的值为1,Evening的值为2。

    


    class Program
    {
        public static string Week(TimeOfDay str) //定义一个Week方法,它有一个枚举类型(TimeOfDay)的参数 str
        {
            string result = string.Empty;
            switch (str)
            { 
                //TimeOfDay.Moning的默认值为0
                case TimeOfDay.Moning :  
                    result = "早上";
                    break;
                case TimeOfDay.Afternoon:
                    result = "下午";
                    break;
                case TimeOfDay.Evening:
                    result = "晚上";
                    break;                   
            }
            return result;
        }
        static void Main(string[] args)
        {

            string s = Program.Week(TimeOfDay.Moning);  
           Console.WriteLine(s);  //输出早上
            
            Console.ReadKey();


        }
    }
}