C#中,定义了一个枚举,怎么用for循环来遍历枚举中的每个值

C#中,定义了一个枚举,怎么用for循环来遍历枚举中的每个值,第1张

publicenumtestenum { A, B, C, D };

foreach ( testenum item in EnumGetValues( typeof(testenum) ))

{

}

EnumGetValues(typeof(枚举名称));可以获得指定枚举的枚举值。

EnumGetNames(typeof(枚举名称));可以获得指定枚举的枚举名称。

把枚举转换成int型就可以了 。

枚举值是常量,不是变量。不能在程序中用赋值语句再对它赋值。例如对枚举weekday的元素再作以下赋值: sun=5;mon=2;sun=mon; 都是错误的。

枚举元素本身由系统定义了一个表示序号的数值,从0 开始顺序定义为0,1,2…。如在weekday中,sun值为0,mon值为1, …,sat值为6。

String str = sun;

int week;

if(strequals(枚举值)){

week = 0;

}

没有什么好办法,只有用switch。将输入的值储存到一个string变量中,然后swtich+case一长串

用enum没有意义的,因为enum在c++里经过编译后实际上就是多个const整型,你的定义其实差不多相当于

const int ROCK=0;

const int SCISSOR=1;

const int CLOTH=2;

……

当然还是有一定差距的,就是在于你可以定义一个变量,内容限定为enum中的这些整型的值。然后,就我所知,没有其他的差别了

所以完全没办法把他们关联到字符串上。

在SQL中,枚举值是指一组有限的值,它们可以用来查询数据库中的特定数据。例如,如果您想要查询某个国家的所有城市,您可以使用枚举值来查询该国家的所有城市。您可以使用SELECT语句来查询枚举值,该语句的语法如下:SELECT FROM table_name WHERE column_name IN (value1, value2, value3, );其中,table_name是您要查询的表名,column_name是您要查询的列名,value1、value2、value3等是您要查询的枚举值。例如,如果您想要查询某个国家的所有城市,您可以使用以下SELECT语句:SELECT FROM cities WHERE country IN ('China', 'India', 'USA');这样,您就可以查询到指定国家的所有城市。

int a=1;

Url u=(Url)a;

var a = typeof(Url)GetField(uToString())GetCustomAttributes(typeof(DescriptionAttribute), false)FirstOrDefault() as DescriptionAttribute;

var d = aDescription;

//d就是你想要的值

 public static IEnumerable<OT> GetByte<OT, T>() where T : OT

        {

            var t = typeof(T);

            T[] value = EnumGetValues(t) as T[];

            List<OT> aa = valueSelect(j => (OT)j)ToList();

            return aa;

        }

在C语言中,枚举类型是被当做int或者unsigned int类型来处理的,所以按照C语言规范是没有办法遍历枚举类型的。

不过在一些特殊的情况下,可以实现有条件的遍历。

1 枚举类型必须连续。

由于枚举类型支持如下方式定义:

enum

{

ENUM_0,

ENUM_10 = 10,

ENUM_11

};

这样就会导致枚举类型不连续,这种枚举无法遍历。

2 枚举类型中人为加入起始及结束标记。

enum

{

ENUM_START,

ENUM_0,

ENUM_1,

ENUM_2,

ENUM_END

};

可以看到,在这个枚举类型中,人为加入可ENUM_START, 和ENUM_END。中间的ENUM_0,ENUM_1,ENUM_2才是实际的有效数据。当后续需要增删枚举元素时,也要保证ENUM_START, 和ENUM_END分别为最小和最大值。

满足以上两种条件下,就可以做枚举的遍历了,参考代码如下:

int i;

for(i = ENUM_START+1; i<ENUM_END; i ++)

{

//使用枚举元素。

}

这个循环中,i的值就是所有有效的枚举元素值。

以上就是关于C#中,定义了一个枚举,怎么用for循环来遍历枚举中的每个值全部的内容,包括:C#中,定义了一个枚举,怎么用for循环来遍历枚举中的每个值、java中的枚举如何根据数字得到文本值、c++输入枚举成员名字获得值的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10039387.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存