C#-枚举的key值获取枚举name名称

示例:

复制代码
public enum SubjectEnum {
        语文 = 1,
        数学 = 2,
        英语 = 3,
        物理 = 4,
        化学 = 5,
        地理 = 6,
        生物 = 7,
        历史 = 8,
        政治 = 9,
}
复制代码

根据数值获取枚举的Name

public string GetEnumNameByKey(int key){
    return Enum.GetName(typeof(SubjectEnum), key);
}
string str = Enum.GetName(typeof(SubjectEnum), key);//若key=6,则str="地理";

获取枚举key值:

int key = (int)SubjectEnum.英语;//则 key=3;

判断key值是否存在于枚举中:

bool  b = Enum.IsDefined(typeof(SubjectEnum), key);
//若key=10,则b=false;

取int值:

int i = (int)SubjectEnum.数学;

int转Enum:

前台Post过来一个string类型的int值,"1","2",然后实体对象是一个Enum枚举类型,

所以需要根据该数值的string获取到这个Enum枚举对象的值。

EnumItems enumItem = (EnumItems)Enum.Parse(typeof(EnumItems), ddl.SelectedValue)
qc.State = (OrderQcState)Enum.Parse(typeof(OrderQcState), qc.Result);

 

最主要的就是使用 Enum.Parse





来源:https://blog.csdn.net/cxu123321/article/details/97273994
posted @   幽冥狂_七  阅读(1884)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示