C#枚举总结

枚举简介

枚举类型是由基础整数数值类型的一组命名常量定义的值类型。

public enum MyColor
{
    Red,
    Orange,
    Yellow,
    Green,
    Cyan,
    Blue,
    Purple
}

enum ErrorCode : ushort
{
    None = 0,
    Unknown = 1,
    ConnectionLost = 100,
    OutlierReading = 200
}

[Flags]
public enum Days
{
    None      = 0b_0000_0000,  // 0
    Monday    = 0b_0000_0001,  // 1
    Tuesday   = 0b_0000_0010,  // 2
    Wednesday = 0b_0000_0100,  // 4
    Thursday  = 0b_0000_1000,  // 8
    Friday    = 0b_0001_0000,  // 16
    Saturday  = 0b_0010_0000,  // 32
    Sunday    = 0b_0100_0000,  // 64
    Weekend   = Saturday | Sunday
}

默认情况下,枚举成员的关联常数值为类型 int;它们从零开始,并按定义文本顺序递增 1。

可以使用枚举类型,通过一组互斥值或选项组合来表示选项。 若要表示选项组合,请将枚举类型定义为位标志。

个人总结:
C# 遇到需要使用 switch-case 语句的情况考虑使用枚举

  1. 约束传入参数
  2. 快速列出case分支

enum int/ulong/byte string 转换

using UnityEngine;
using System;

public class Enum_Learn : MonoBehaviour
{
    void Start()
    {
        MyColor myColor = MyColor.Green;

        //enum->string
        string str = myColor.ToString();
        Debug.Log(str);
        //enum->int
        int index = (int)myColor;
        Debug.Log(index);


        //int->enum
        MyColor my2Color = (MyColor)Enum.ToObject(typeof(MyColor), 0);
        Debug.Log(my2Color);
        //string->enum
        MyColor my3Color = (MyColor)Enum.Parse(typeof(MyColor), "Blue");
        Debug.Log(my3Color);
    }

}

public enum MyColor
{
    Red,
    Orange,
    Yellow,
    Green,
    Cyan,
    Blue,
    Purple
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值