C# 如何使用字符串和int(字符串)值创建枚举

C# 如何使用字符串和int(字符串)值创建枚举,c#,.net,.net-core,enums,C#,.net,.net Core,Enums,我需要检查一些字符串值的条件,如“12234”、“12345”、“54321”、“testValue” 我想用这些值创建一个枚举,并尝试在我的if条件下解析枚举值,但是我们可以用下面的字符串和int值创建枚举吗 另一个选项是数组,但我想检查是否可以创建枚举 public enum test { 12234,12345,54321,testValue } 枚举必须是整数类型,因此不能将字符串作为枚举常量 下面的枚举示例 enum TestConditions { One =

我需要检查一些字符串值的条件,如“12234”、“12345”、“54321”、“testValue” 我想用这些值创建一个枚举,并尝试在我的if条件下解析枚举值,但是我们可以用下面的字符串和int值创建枚举吗

另一个选项是数组,但我想检查是否可以创建枚举

public enum test
{
    12234,12345,54321,testValue
}
枚举必须是整数类型,因此不能将字符串作为枚举常量

下面的枚举示例


 enum TestConditions
 {
   One = 12234,
   Two = 12345,
   Three=54321,

 }

 //Enum 

 Console.WriteLine((int)TestConditions.One); //Output = 12234
 Console.WriteLine(TestConditions.One); //Output = One
 Console.WriteLine((TestConditions)12234); // Output = One


也许您可以使用这样的静态类

枚举必须是整数类型,因此不能将字符串作为枚举常量

下面的枚举示例


 enum TestConditions
 {
   One = 12234,
   Two = 12345,
   Three=54321,

 }

 //Enum 

 Console.WriteLine((int)TestConditions.One); //Output = 12234
 Console.WriteLine(TestConditions.One); //Output = One
 Console.WriteLine((TestConditions)12234); // Output = One


也许您可以使用这样的静态类


听起来像是滥用枚举和XY问题,为什么需要这个?或者,您可以使用一个属性,将数据存储在该属性中,并使用反射来查询它并帮助返回枚举。我想你也可以使用字典,映射到一个枚举,或者只是一个带有constantsEnum名称的老式开关只能以字母表开头。您可以将这些数字指定给名称,但不能将数字指定为名称。这不是实例化枚举类的有效方法。没有字符串:枚举类型(或枚举类型)是由基础整数类型的一组命名常量定义的值类型。我不确定这里的目标是什么,但您可以这样做:公共枚举测试{NUM_12234,NUM_12345,NUM_54321,testValue},在本例中,testValue不是一个字符串,而是一个整数的名称。嗨,Roshan,请继续检查下面的答案是否有助于澄清您在帖子中提出的问题,如果答案不完全,您可以分享您的疑问,我将试着澄清;)听起来像是滥用枚举和XY问题,为什么需要这个?或者,您可以使用一个属性,将数据存储在该属性中,并使用反射来查询它并帮助返回枚举。我想你也可以使用字典,映射到一个枚举,或者只是一个带有constantsEnum名称的老式开关只能以字母表开头。您可以将这些数字指定给名称,但不能将数字指定为名称。这不是实例化枚举类的有效方法。没有字符串:枚举类型(或枚举类型)是由基础整数类型的一组命名常量定义的值类型。我不确定这里的目标是什么,但您可以这样做:公共枚举测试{NUM_12234,NUM_12345,NUM_54321,testValue},在本例中,testValue不是一个字符串,而是一个整数的名称。嗨,Roshan,请继续检查下面的答案是否有助于澄清您在帖子中提出的问题,如果答案不完全,您可以分享您的疑问,我将试着澄清;)