C# 十五、枚举/enum

概念/说明:

  • 枚举类型是由一组特定常量构成的一组数据结构,是值类型的一种特殊形式,当需要一个由指定常量集合组成的数据类型时,使用枚举类型。它用于声明一组具有相同性质的常量。
  • 枚举是一种整型数据,所以只能继承整型类型,或者不继承,默认是int型。表示枚举元素使用该种类型存储。不同类型占用字节不同。
  • 在声明枚举时,枚举成员如果不赋值,那枚举成员的值从0开始,依次加1,如果赋值,给的值是多少就是多少。
  • 给申请好的枚举变量赋值,只能赋值成定义的枚举成员,它虽然是一种整型数据,但不能直接赋值成整型常量,但可以赋值成0(表示第一个枚举成员)
  • 枚举变量只能做“+”“-”运算,但是运算所得值不等于枚举成员值,则返回所得值的整形数据。

声明/定义:

enum 枚举类型名:基础类型

{枚举成员列表}

示例:

enum Game:byte

{ start,stop}

枚举取值类型:

byte、sbyte、short、ushort、int、uint、long 或 ulong 

枚举成员的取值和值得变化:

默认值为0,没有手动赋值的成员都是在上一个枚举的基础上加1,枚举可以为负数,枚举成员不是变量是常量。

示例:

enum Game:byte

{ start=1,stop}

获取枚举内容语法格式:

枚举类型名.枚举成员列表;

示例:

Game.start;

枚举转换字符串:

使用方法ToString();

示例:

string s = Game.start.ToString();

字符串转换枚举:

(枚举类型名)Enum.Parse(typeof(枚举类型名),字符串);

示例:

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

namespace Test_CSharp
{
    class Program
    {
        enum Game : byte
        { start, stop }
        static void Main(string[] args)
        {
            Game games = (Game)Enum.Parse(typeof(Game), Console.ReadLine());

            switch (games)
            {
                case Game.start: Console.WriteLine("开始"); break;
                case Game.stop: Console.WriteLine("结束"); break;
            }

            Console.ReadKey();
        }
    }
}

通过值获取标识符

代码示例:

        enum game:sbyte
        {
            游戏未开始, 游戏进行中, 游戏已结束
        }
        static void Main(string[] args)
        {
            string s = Enum.GetName(typeof(game), 0);
            string[]arr = Enum.GetNames(typeof(game));

            Console.WriteLine(s);   ---> 游戏未开始

            foreach (var item in arr)
            {
                Console.WriteLine(item);    

            }
               --->
                    游戏未开始                  
                    游戏进行中
                    游戏已结束

            Console.ReadKey();
        }

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值