using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Reflection;
using System.Linq;
public enum TCountryNames
{
[Display(Name = "America")]
cnUSA = 1,
[Display(Name = "England")]
cnUK,
[Display(Name = "CHINA")]
cnCHN
}
public class EnumData
public int Id { get; set; }
public string? Name { get; set; }
public override string ToString() {
return "Id: " + Id + "\t" + "Name: " + Name;
public class MyClass
public static void Main(string[] args)
var list = new List<EnumData>();
foreach (var e in Enum.GetValues(typeof(TCountryNames)))
list.Add(new EnumData
Id = (int)e,
Name = e.GetType()
.GetMember(e.ToString())
.First()?
.GetCustomAttribute<DisplayAttribute>()?
.GetName()
});
foreach (var e in list)
Console.WriteLine(e);