c# 遍历枚举(转自博客园)

本文介绍了一个C#方法,用于从枚举中输出格式化的字符串,便于将其绑定到选择控件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

逛了逛,发现很多人想遍历一个枚举。而我以前也曾遇到过,想了很多方法没能解决,所以呢,干脆将解决方案发出来大家共享一下。

这是我唯一能想出来的方法了。也是我自己的库中使用的一个方法。

 

 

复制代码
   
/// <summary> /// 从 枚举中输出字符串 /// </summary> /// <param name="EnumType"> typeof(枚举) </param> /// <param name="formatString"> 格式化字符串 {0}=名称,{1}代表数字 </param> /// <returns></returns> public static string StringFromEnum(Type EnumType, string formatString) { StringBuilder sb = new StringBuilder(); foreach ( string str in Enum.GetNames(EnumType)) { sb.Append( string .Format(formatString, str, Enum.Format(EnumType, Enum.Parse(EnumType, str), " d " ))); } return sb.ToString(); }
复制代码

 

 

 

 

比如:

 

 

   
public enum Test { 测试遍历 = 0 , qhw2002 = 1 , lsword = 2 }

 

 

然后输出:

   
Response.Write(StringFromEnum( typeof (Test), " <div>名称:{0} , 值:{1}</div> " ));

 

 

 

结果:

 

   
< div > 名称:测试遍历,值:0 </ div > < div > 名称:qhw2002,值:1 </ div > < div > 名称:lsword,值:2 </ div >

 

这样做的好处是暂时可以将 Enum 绑定到 SELECT 等控件中...

没有测试过性能,不知道情况如何...也还没找到更好的解决办法...

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值