首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

遍历Enum解决方案

2012-12-28 
遍历Enum现有多个Enum,打算写个函数把它转换成字符串JSON格式例如:enum A{a 1,b 2}enum B{c 3,d 4

遍历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
}

热点排行