当前位置: 首页 > 知识库问答 >
问题:

获取枚举值的名称

赏逸春
2023-03-14
Get_Enum_ValueName(DayOfWeek, 0)

但我的代码不起作用,它说类型没有定义

Private Function Get_Enum_ValueName(Of T)(ByVal EnumName As T, ByVal EnumValue As Integer) As String
    Return DirectCast([Enum].Parse(GetType(EnumName), EnumValue ), EnumName).ToString
End Function

共有1个答案

丌官飞章
2023-03-14

给定枚举

public enum Week
{
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday,
    Sunday
}

以下是你可以做的事情:

static void Main(string[] args)
{

    // enum to int
    int i=(int)Week.Thursday;

    // int to enum;
    Week day=(Week)3;

    // enum to string
    string name=Week.Thursday.ToString();
    string fun=Enum.GetName(typeof(Week), 6);
    string agh=Enum.GetName(typeof(Week), Week.Monday);
    string wed=EnumName(Week.Wednesday);

    // string to enum
    Week apt=(Week)Enum.Parse(typeof(Week), "Thursday");

    // all values of an enum type
    Week[] days=(Week[])Enum.GetValues(typeof(Week));

    // all names of an enum type
    string[] names=Enum.GetNames(typeof(Week));

}

static string EnumName<T>(T value)
{
    return Enum.GetName(typeof(T), value);
}

如果要根据基础数值从一个枚举转换为另一个不同类型的枚举(转换为整数和从整数转换),请使用以下命令:

/// <summary>
/// Casts one enum type to another based on the underlying value
/// </summary>
/// <typeparam name="TEnum">The type of the enum.</typeparam>
/// <param name="otherEnum">The other enum.</param>
public static TEnum CastTo<TEnum>(this Enum otherEnum)
{
    return (TEnum)Enum.ToObject(typeof(TEnum), Convert.ToInt32(otherEnum));
}
public enum WeekEnd
{
    Saturday = Week.Saturday,
    Sunday = Week.Sunday
}

static void Main(string[] args)
{
    var day = WeekEnd.Saturday.CastTo<Week>();
    // Week.Sunday
}
 类似资料:
  • 我应该工作,对吧?但它不是!!!!它告诉我dbValue可以转换为RelationActiveEnum...

  • 本文向大家介绍Java获取枚举的值,包括了Java获取枚举的值的使用技巧和注意事项,需要的朋友参考一下 示例 每个枚举类都包含一个名为的隐式静态方法values()。此方法返回一个包含该枚举的所有值的数组。您可以使用此方法遍历值。重要的是要注意,此方法每次调用时都会返回一个新数组。 如果需要,Set也可以使用EnumSet.allOf(Day.class)。

  • 问题内容: 如果我有一个带有原始值的枚举: 如何将值转换为字符串?语言中是否可用这种类型名称自省? 类似的东西(此代码将不起作用): 问题答案: 从Xcode 7 beta 5(Swift版本2)开始,您现在可以默认使用来打印类型名称和枚举大小写,或者使用的初始值设定项或字符串插值语法转换为。因此,对于您的示例: 因此,不再需要定义和维护一个方便函数,该函数在每种情况下都可以打开以返回字符串文字。

  • 假设我有这样的枚举 我也有一个类,我想扩展有序[SimpleEnum] 所以在SimpleClass中,我只需要获取附加到相应SimpleEnum val的值。 在java中,我能够声明一个变量的枚举和访问一个实际的值对应于它的这个var,在scala我正在寻找一种方法来获取枚举的实例,并接触到它的值。

  • 我想迭代一个TypeScript一个类型,并获取每个枚举的符号名,例如:

  • 问题内容: 假设是,我将如何产生给定序数的枚举值? 问题答案: 足够了。一条线; 足够简单。