C#-枚举的初级使用

项目开发中经常使用到枚举,个人总结有如下优点:

  1. 使用枚举可以使工程更直观,方便大家理解和项目维护。
  2. 可以减少数字或者string的错误输入导致不必要的问题。

给大家讲解一下常用的枚举操作:

枚举的关键字enum:

    public enum AnimalType
    {
        None = 0,
        Bird = 1,
        Cat = 2,
        Dog = 4,
    }

枚举转换string

AnimalType.Dog.ToString()

枚举转换int

(int)AnimalType.Dog

int转换枚举

(AnimalType)1

string转换枚举

(AnimalType)Enum.Parse(typeof(AnimalType), "Dog");

判断枚举是否包含string

Enum.IsDefined(typeof(AnimalType), "Dog")

测试代码如下:

using System;
using UnityEngine;

public class EnumTest : MonoBehaviour
{
    public enum AnimalType
    {
        None = 0,
        Bird = 1,
        Cat = 2,
        Dog = 4,
    }

    private AnimalType _animal = AnimalType.Cat;

    private void Awake()
    {
        // 通过枚举做一些逻辑处理
        AnimalJump(_animal);

        // 枚举转换string
        Debug.Log(AnimalType.Dog.ToString());

        // 枚举转换int
        Debug.Log((int)AnimalType.Dog);

        // 判断枚举是否包含int
        if (Enum.IsDefined(typeof(AnimalType),1))
        {
            // int转换枚举
            _animal = (AnimalType)1;
            Debug.Log(_animal.ToString());
        }

        // 判断枚举是否包含string
        if (Enum.IsDefined(typeof(AnimalType), "Dog"))
        {
            // string转换枚举
            _animal = (AnimalType)Enum.Parse(typeof(AnimalType), "Dog");
            Debug.Log(_animal.ToString());
        }
    }

    private void AnimalJump(AnimalType type)
    {
        var jumpInfo = string.Empty;
        switch (type)
        {
            case AnimalType.None:
                break;
            case AnimalType.Bird:
                jumpInfo = "Bird Jump";
                break;
            case AnimalType.Cat:
                jumpInfo = "Cat Jump";
                break;
            case AnimalType.Dog:
                jumpInfo = "Dog Jump";
                break;
            default:
                break;
        }

        Debug.Log(jumpInfo);
    }
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值