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(); } } }


原文地址:https://www.cnblogs.com/blfbuaa/p/6719045.html