C# 枚举上的迭代?
可能重复:C# 枚举上的迭代?,c#,enums,C#,Enums,可能重复: 嗨,我想知道的是,假设我定义一个枚举,比如 enum color { red=4; blue=5; gray=6; green=8; } 所以我们可以用for循环来打印常量的值,我的意思是我们可以通过循环来控制它; 另一个问题是我们是否可以将其与下拉列表(如数组)集成。我的意思是,当我们在侧数组中声明一个元素时,假设我写的是相同的颜色元素,并且我们可以在asp.net中使用列表或下拉列表(简单的单词绑定控件)添加这些元素,我们可以使用enum执行相
嗨,我想知道的是,假设我定义一个枚举,比如
enum color
{
red=4;
blue=5;
gray=6;
green=8;
}
所以我们可以用for循环来打印常量的值,我的意思是我们可以通过循环来控制它;
另一个问题是我们是否可以将其与下拉列表(如数组)集成。我的意思是,当我们在侧数组中声明一个元素时,假设我写的是相同的颜色元素,并且我们可以在asp.net中使用列表或下拉列表(简单的单词绑定控件)添加这些元素,我们可以使用enum执行相同的操作。使用:
我想这可能回答了你所有的问题,但我并没有真正理解下半场的内容。如果您仍然需要帮助,请编辑您的问题以使其更清晰。使用:
我想这可能回答了你所有的问题,但我并没有真正理解下半场的内容。如果您仍然需要帮助,请编辑您的问题以使其更清晰。使用静态Enum.GetValues()方法:
使用静态Enum.GetValues()方法:
当然,如果他把自己的颜色存储为,例如,红色的4(与红色的正确数字表示相反),这个方法就行不通了?@Blam:恐怕我不明白你的意思。你能澄清你的答案吗,先生,我是指你对第二个问题的评论吗?foreach(int I在Enum.GetValue(typeof(color)){console.writeline(I);}它将打印出4,5,6,8它有什么问题..我被你的评论搞糊涂了,你能澄清你的想法吗,先生。@Nishant:你在那里隐式地转换到
int
-如果你把变量改为Color
类型,那就好了。当然,如果他把他的颜色存储为,例如,红色的4(与正确的红色数字表示相反)这个方法行不通?@Blam:恐怕我不明白你的意思。你能澄清你的答案吗,先生,我是指你对第二个问题的评论吗?foreach(int I in Enum.GetValue(typeof(color)){console.writeline(I);}它会打印出4,5,6,8,里面有什么问题。我被你的评论搞糊涂了。你能澄清你的想法吗,先生。@Nishant:你在那里隐式地转换到int
-如果你把变量改成Color
类型,那就好了。干净又好,只有一个例外,“Color”类型应该是“Color”:PClean和nice,但有一个例外,“color”类型应为“color”。:P
Color[] colors = (Color[]) Enum.GetValues(typeof(Color));
foreach (color value in Enum.GetValues(typeof(color)))
{
//Do something here
}