using System;
using System.Linq;
using System.ComponentModel;
public enum EnumFruits
{
[Description("Apple")]
A = 1,
[Description("Orange")]
B = 2,
[Description("Banana")]
C = 3,
[Description("Others")]
O = 0,
}
public class Program
public static void Main()
var selectListItems = Enum.GetValues(typeof(EnumFruits))
.Cast<EnumFruits>()
.Select(v => new { Text = GetEnumDescription((EnumFruits)v), Value = (int)v } )
.ToList();
foreach(var item in selectListItems){
Console.WriteLine(item.Text + " - " + item.Value);
public static string GetEnumDescription(Enum value)
var fi = value.GetType().GetField(value.ToString());
var attributes = fi.GetCustomAttributes(typeof(DescriptionAttribute), false) as DescriptionAttribute[];
if (attributes != null && attributes.Any())
return attributes.First().Description;
return value.ToString();