枚举在日常开发时,使用频率还是挺高的,这里简单记录一下相互转换
需要用到的方法

上面的方法,可以将枚举值或者数值,转换为对应的枚举对象
简单包装一下
/// <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;
本文介绍了一种实用的枚举转换方法,通过自定义函数GetEnumByIDorName,实现了枚举值或数值到枚举对象的转换,同时也展示了如何从枚举对象中获取字符串名称和数值。此方法适用于C#等面向对象语言,对于日常开发中频繁使用的枚举类型提供了便捷的处理方式。
2972

被折叠的 条评论
为什么被折叠?



