我有一个ENUM,如下所示。我需要显示它的键值对。我已经展示了如何查看输出。
public enum CourseEnum
{
Science= 1,
Math =2,
English=3,
History=4
}
输出
{
"1" : "Science",
"2" : "Math ",
"3" : "English",
"4" : "History"
}
首先可以将枚举强制转换为dictionary,然后将其转换为json:
var dict = Enum.GetValues(typeof(CourseEnum))
.Cast<CourseEnum>()
.ToDictionary(t => (int)t, t => t.ToString());
并且使用Newtonsoft
:
var json=JsonConvert.SerializeObject(dict);
请参阅代码片段。根据您的需求进行调整:
foreach (var e in Enum.GetValues(typeof(CourseEnum)).Cast<CourseEnum>())
Console.WriteLine($""{(int)e}" : "{e}"");
// output:
"1" : "Science"
"2" : "Math"
"3" : "English"
"4" : "History"
你可以喜欢这个。
var data = Enum
.GetNames(typeof(CourseEnum))
.Select(name => new
{
Id = (int)Enum.Parse(typeof(CourseEnum), name),
Name = name
})
.ToArray();