这里是扩展方法我用转换枚举,唯一的区别是,我回来IEnumerbale>我的目的:
public static IEnumerable<KeyValuePair<int, string>> ToListOfKeyValuePairs<TEnum>(this TEnum enumeration) where TEnum : struct
{
return from TEnum e in Enum.GetValues(typeof(TEnum))
select new KeyValuePair<int, string>
(
(int)Enum.Parse(typeof(TEnum), e.ToString()),
Regex.Replace(e.ToString(), "[A-Z]", x => string.Concat(" ", x.Value[0])).Trim()
);
}
它也增加了空间的价值。
实施例:
enum Province
{
BritishColumbia = 0,
Ontario = 1
}
用法:
<select>
<% foreach(var item in Province.BritishColumbia.ToListOfKeyValuePairs()){ %>
<option value="<%=item.Key %>"><%=item.Value %></option>
<% } %>
</select>
输出:
<select>
<option value="0">British Columbia</option>
<option value="1">Ontario</option>
</select>
虽然@保罗鲁安是正确的我已经发现这是一个非常有用的扩展方法。这不是一个完美的世界。
你为什么不告诉我们错误信息? – 2011-03-31 12:56:30