遍历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(',');
------其他解决方案--------------------
这个可以,只要写一个函数。
------其他解决方案--------------------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
}