当前位置 : 主页 > 网络编程 > net编程 >

c# Enum 枚举工具

来源:互联网 收集:自由互联 发布时间:2023-09-07
枚举 public enum TrueNameStatusEnum { 未实名 = 0, 审核中 = 1, 已实名 = 2, 请修改=3 } 调用代码 Console.WriteLine("`````````根据数字获取枚举Name`````````"); //根据数字获取枚举Name int _index = 1; string name

 枚举

public enum TrueNameStatusEnum
{
未实名 = 0,
审核中 = 1,
已实名 = 2,
请修改=3
}

调用代码

Console.WriteLine("`````````根据数字获取枚举Name`````````");
//根据数字获取枚举Name
int _index = 1;
string name = _index.GetEnumName<TrueNameStatusEnum>();
Console.WriteLine($"枚举数字:{_index} 枚举字段名称:{name} ");

结果

`````````根据数字获取枚举Name`````````
枚举数字:1 枚举字段名称:审核中

核心代码

public static class EnumTools
{
#region Enum 枚举工具
/// <summary>
/// Enum 枚举类型转换为int类型
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="ParameterEnum"></param>
/// <returns></returns>
public static int EnumTypeConvertInt<T>(this T ParameterEnum)
{
Type InType = typeof(T);

foreach (var enumValue in InType.GetEnumValues())
{
if (enumValue.ToString() == ParameterEnum.ToString())
{
return (int)enumValue;
}
}
return -999999999;
}

/// <summary>
/// Enum 枚举类型转换为string类型
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="ParameterEnum"></param>
/// <returns></returns>
public static string EnumTypeConvertString<T>(this T ParameterEnum)
{
Type InType = typeof(T);
foreach (var enumName in InType.GetEnumNames())
{
if (enumName == ParameterEnum.ToString())
{
return enumName;
}
}
return "";
}
/// <summary>
/// 根据枚举的Name找到Value ,当返回值为null时未找到
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="ParameterEnum"></param>
/// <returns></returns>
public static int? GetEnumValue<T>(this string ParameterEnumName)
{
Type InType = typeof(T);

foreach (var enumValue in InType.GetEnumValues())
{
if (enumValue.ToString() == ParameterEnumName)
{
return (int)enumValue;
}
}
return null;
}
/// <summary>
/// 根据枚举的Value找到Name,当返回值为null时未找到
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="ParameterEnum"></param>
/// <returns></returns>
public static string GetEnumName<T>(this int ParameterEnumValue)
{
Type InType = typeof(T);
foreach (var enumValue in InType.GetEnumValues())
{
if ((int)enumValue == ParameterEnumValue)
{
return enumValue.ToString();
}
}
return null;
}
#endregion

}


上一篇:c# 万能模型类型转换
下一篇:没有了
网友评论