C#中遍历MessageBoxIcon这个枚举的问题 有同志遍历过这个枚举吗?我一次想把这个枚举里所有的数值取出来用,但出来后发现有重复的,不知道什么原因! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 嗯 MessageBoxIcon 这个枚举里面确实有重复的值哦~!但是获取名称却不重复呀~!string [] names = Enum.GetNames(typeof(MessageBoxIcon));[align=center]*************************************************本内容使用CSDN小秘书回复每天回帖即可得10分可用分!*************************************************[/align] using System;using System.Windows.Forms;class A{ static void Main() { Type t = typeof(MessageBoxIcon); foreach (string s in Enum.GetNames(t)) { Console.WriteLine("值: 0x{0:X2} 名称: {1}", (int)Enum.Parse(t, s), s); } }}/*输出:值: 0x00 名称: None值: 0x10 名称: Hand值: 0x10 名称: Error值: 0x10 名称: Stop值: 0x20 名称: Question值: 0x30 名称: Exclamation值: 0x30 名称: Warning值: 0x40 名称: Asterisk值: 0x40 名称: Information其中名称不同但值相同的枚举代表同样的意思,比如说 Asterisk 和 Information 都是一个 i 字的图案。 None 消息框未包含符号。 Hand 该消息框包含一个符号,该符号是由一个红色背景的圆圈及其中的白色 X 组成的。 Error 该消息框包含一个符号,该符号是由一个红色背景的圆圈及其中的白色 X 组成的。 Stop 该消息框包含一个符号,该符号是由一个红色背景的圆圈及其中的白色 X 组成的。 Question 该消息框包含一个符号,该符号是由一个圆圈和其中的一个问号组成的。 Exclamation 该消息框包含一个符号,该符号是由一个黄色背景的三角形及其中的一个感叹号组成的。 Warning 该消息框包含一个符号,该符号是由一个黄色背景的三角形及其中的一个感叹号组成的。 Asterisk 该消息框包含一个符号,该符号是由一个圆圈及其中的小写字母 i 组成的。 Information 该消息框包含一个符号,该符号是由一个圆圈及其中的小写字母 i 组成的。 */ using System;// 其实我们也可以自己定义一个含有相同值的枚举:enum MyEnum{ None = 0x00, // 消息框未包含符号。 Hand = 0x10, // 该消息框包含一个符号,该符号是由一个红色背景的圆圈及其中的白色 X 组成的。 Error = 0x10, // 该消息框包含一个符号,该符号是由一个红色背景的圆圈及其中的白色 X 组成的。 Stop = 0x10, // 该消息框包含一个符号,该符号是由一个红色背景的圆圈及其中的白色 X 组成的。 Question = 0x20, // 该消息框包含一个符号,该符号是由一个圆圈和其中的一个问号组成的。 Exclamation = 0x30, // 该消息框包含一个符号,该符号是由一个黄色背景的三角形及其中的一个感叹号组成的。 Warning = 0x40, // 该消息框包含一个符号,该符号是由一个黄色背景的三角形及其中的一个感叹号组成的。 Asterisk = 0x40, // 该消息框包含一个符号,该符号是由一个圆圈及其中的小写字母 i 组成的。 Information = 0x40, // 该消息框包含一个符号,该符号是由一个圆圈及其中的小写字母 i 组成的。 }class Program{ static void Main() { Type t = typeof(MyEnum); foreach (string s in Enum.GetNames(t)) { Console.WriteLine("值: 0x{0:X2} 名称: {1}", (int)Enum.Parse(t, s), s); } }}/*输出:值: 0x00 名称: None值: 0x10 名称: Hand值: 0x10 名称: Error值: 0x10 名称: Stop值: 0x20 名称: Question值: 0x30 名称: Exclamation值: 0x40 名称: Warning值: 0x40 名称: Asterisk值: 0x40 名称: Information*/ wuyi8808 好强大啊!能加你为好友吗?呵呵! 枚举遍历using System; public class EnumTest { enum Days { Saturday, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday }; public static void Main() { Type weekdays = typeof(Days); foreach ( string s in Enum.GetNames(weekdays) ) Console.WriteLine( "{0,-11}= {1}", s, Enum.Format( weekdays, Enum.Parse(weekdays, s), "d")); } } Days换MessageBoxIcon 哇!如梦哥!劳您大驾,太感动了...谢谢您!!!想问一下,为什么遍历出来的值第一个是None呢?可以去掉吗? None也是一个枚举值,一般来说None的值都是0 哦,我靠,忘了!none是没有图标,谢谢啊! 急找大神求一数字类型JS正则验证 反射调指定文件夹下的文件,如何限制文件加载的范围??? 请问在大型项目里linq2sql的dbml是怎么安排的? 用Repeater绑定数据再次发问 请教:如何统计由UNION合并后的表 c#非泛型“***”不能与类型实参一起使用的错误 flash图片放到程序里,运行时网页很长时间打不开,谢谢,在线等 XLS 存盘问题!急!! vb编译成dll出问题 delphi中调用c#动态库的问题? WebBrowser屏蔽alert消息框 WebBrowser 不能显示数据库内容问题
但是获取名称却不重复呀~!
string [] names = Enum.GetNames(typeof(MessageBoxIcon));[align=center]*************************************************
本内容使用CSDN小秘书回复
每天回帖即可得10分可用分!
*************************************************[/align]
using System.Windows.Forms;class A
{
static void Main()
{
Type t = typeof(MessageBoxIcon);
foreach (string s in Enum.GetNames(t))
{
Console.WriteLine("值: 0x{0:X2} 名称: {1}", (int)Enum.Parse(t, s), s);
}
}
}
/*
输出:
值: 0x00 名称: None
值: 0x10 名称: Hand
值: 0x10 名称: Error
值: 0x10 名称: Stop
值: 0x20 名称: Question
值: 0x30 名称: Exclamation
值: 0x30 名称: Warning
值: 0x40 名称: Asterisk
值: 0x40 名称: Information其中名称不同但值相同的枚举代表同样的意思,
比如说 Asterisk 和 Information 都是一个 i 字的图案。
None 消息框未包含符号。 Hand 该消息框包含一个符号,该符号是由一个红色背景的圆圈及其中的白色 X 组成的。
Error 该消息框包含一个符号,该符号是由一个红色背景的圆圈及其中的白色 X 组成的。
Stop 该消息框包含一个符号,该符号是由一个红色背景的圆圈及其中的白色 X 组成的。 Question 该消息框包含一个符号,该符号是由一个圆圈和其中的一个问号组成的。 Exclamation 该消息框包含一个符号,该符号是由一个黄色背景的三角形及其中的一个感叹号组成的。
Warning 该消息框包含一个符号,该符号是由一个黄色背景的三角形及其中的一个感叹号组成的。 Asterisk 该消息框包含一个符号,该符号是由一个圆圈及其中的小写字母 i 组成的。
Information 该消息框包含一个符号,该符号是由一个圆圈及其中的小写字母 i 组成的。
*/
enum MyEnum
{
None = 0x00, // 消息框未包含符号。 Hand = 0x10, // 该消息框包含一个符号,该符号是由一个红色背景的圆圈及其中的白色 X 组成的。
Error = 0x10, // 该消息框包含一个符号,该符号是由一个红色背景的圆圈及其中的白色 X 组成的。
Stop = 0x10, // 该消息框包含一个符号,该符号是由一个红色背景的圆圈及其中的白色 X 组成的。 Question = 0x20, // 该消息框包含一个符号,该符号是由一个圆圈和其中的一个问号组成的。 Exclamation = 0x30, // 该消息框包含一个符号,该符号是由一个黄色背景的三角形及其中的一个感叹号组成的。
Warning = 0x40, // 该消息框包含一个符号,该符号是由一个黄色背景的三角形及其中的一个感叹号组成的。 Asterisk = 0x40, // 该消息框包含一个符号,该符号是由一个圆圈及其中的小写字母 i 组成的。
Information = 0x40, // 该消息框包含一个符号,该符号是由一个圆圈及其中的小写字母 i 组成的。
}class Program
{
static void Main()
{
Type t = typeof(MyEnum);
foreach (string s in Enum.GetNames(t))
{
Console.WriteLine("值: 0x{0:X2} 名称: {1}", (int)Enum.Parse(t, s), s);
}
}
}
/*
输出:
值: 0x00 名称: None
值: 0x10 名称: Hand
值: 0x10 名称: Error
值: 0x10 名称: Stop
值: 0x20 名称: Question
值: 0x30 名称: Exclamation
值: 0x40 名称: Warning
值: 0x40 名称: Asterisk
值: 0x40 名称: Information
*/
using System;
public class EnumTest {
enum Days { Saturday, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday };
public static void Main() {
Type weekdays = typeof(Days);
foreach ( string s in Enum.GetNames(weekdays) )
Console.WriteLine( "{0,-11}= {1}", s, Enum.Format( weekdays, Enum.Parse(weekdays, s), "d"));
}
}
Days换MessageBoxIcon