枚举(Enum)

作者:追风剑情 发布于:2019-11-1 15:56 分类:C#

示例一:定义枚举类型

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

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            byte x = (byte)Days.Fri;
            Console.WriteLine("x={0}", x);

            CarOptions car = CarOptions.SunRoof | CarOptions.Spoiler;
            //如果移除[Flags],将输出car=3
            Console.WriteLine("car={0}", car);

            //打印枚举元素
            string[] names = Enum.GetNames(typeof(Days));
            foreach (var s in names)
                Console.WriteLine(s);

            //判断有没定义某个枚举元素
            bool definedSun = Enum.IsDefined(typeof(Days), "Sun");
            bool definedSunX = Enum.IsDefined(typeof(Days), "SunX");
            Console.WriteLine("definedSun={0}, definedSunX={1}", definedSun, definedSunX);

            Console.Read();
        }
    }

    //定义枚举元素的类型为byte型,默认为int型
    //准许使用的枚举类型有 byte、sbyte、short、ushort、int、uint、long 或 ulong。
    //默认情况第1个元素的值为0,后面的元素值依次递增
    public enum Days : byte 
    { Sat = 1, Sun, Mon, Tue, Wed, Thu, Fri }

    [Flags] //使用System.FlagsAttribute特性
    public enum CarOptions
    {
        SunRoof = 0x01,
        Spoiler = 0x02,
        FogLights = 0x04,
        TintedWindows = 0x08
    }
}

运行测试

1111.png

标签: C#

Powered by emlog  蜀ICP备18021003号   sitemap

川公网安备 51019002001593号