读书人

遍历Enum解决方案

发布时间: 2012-12-28 10:29:05 作者: rapoo

遍历Enum
现有多个Enum,打算写个函数把它转换成字符串JSON格式
例如:
enum A{
a = 1,
b = 2
}

enum B{
c = 3,
d = 4
}

想得到2个JSON格式的字符串{a = 1, b = 2} {c = 3, d = 4}

要怎么弄?
[最优解释]
string str = "{";
Type tp = Type.GetType("命名空间.A");
foreach (string s in Enum.GetNames(tp))
{
str += s + "=" + (int)Enum.Parse(tp, s) + ",";
}
str = str.TrimEnd(',') + "}";

B也同上
[其他解释]

 foreach(A x in Enum.GetValues(typeof(A)))
Console.WriteLine("{0}={1}",x,(int)x);

[其他解释]
string xx;
foreach (A A in Enum.GetValues(typeof(A)))
{

xx+=string.Format("{0}={1},",A.ToString(),(int)A);
}
xx=xx.TrimEnd(',');
[其他解释]
引用:
string str = "{";
Type tp = Type.GetType("命名空间.A");
foreach (string s in Enum.GetNames(tp))
{
str += s + "=" + (int)Enum.Parse(tp……


这个可以,只要写一个函数。
[其他解释]
void Main()
{
string result =string.Format("{{{0}}}",string.Join(",",Enum.GetValues(typeof(A)).Cast<A>().Select(a=>string.Format("{0}={1}",a,(int)a)).ToArray()));
Console.WriteLine(result);
}
enum A{
a = 1,
b = 2
}

读书人网 >C#

热点推荐