C# 枚举中的常用操作

本文介绍了一种实用的枚举转换方法,通过自定义函数GetEnumByIDorName,实现了枚举值或数值到枚举对象的转换,同时也展示了如何从枚举对象中获取字符串名称和数值。此方法适用于C#等面向对象语言,对于日常开发中频繁使用的枚举类型提供了便捷的处理方式。

枚举在日常开发时,使用频率还是挺高的,这里简单记录一下相互转换
需要用到的方法
在这里插入图片描述
上面的方法,可以将枚举值或者数值,转换为对应的枚举对象
简单包装一下

/// <summary>
/// ID获取对应枚举
/// </summary>
/// <typeparam name="T">枚举类型</typeparam>
/// <param name="id"></param>
/// <exception cref="Exception"></exception>
/// <returns></returns>
public static T GetEnumByIDorName<T>(dynamic value) where T : struct, Enum
{
    if (Enum.TryParse(value.ToString(), out T type))
    {
        return type;
    }
    throw new Exception("获取枚举格式失败");
}

使用方法

/// <summary>
/// 城市
/// </summary>
public enum City
{
    HangZhou = 1,
    BeiJing = 0,
    ShangHai = 2,
    ShenZhen = 3
}


//获取ShangHai对应枚举对象
City city_1 = GetEnumByIDorName<City>("ShangHai");
//获取数值3对象的枚举对象
City city_2 = GetEnumByIDorName<City>(3);

根据枚举对象,获取对象字符值和数值

string name = city_1.ToString();	//name="ShangHai"
int cnt = (int)city_2;	//cnt=3;
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值