20

Possible Duplicate:
C#: How to enumerate an enum?

Hi All,

I have an Enum

public enum AttributeType
    {
        TextField = 1, 
        TextArea = 2,
        Date = 4, 
        Boolean = 8
    }

I want to foreach this enum and make an object array of it in this format

object data = new object[]
{
   // new object[] { 1,"TextField"}
   new object[] { enumValue, enumText}
};
Community
  • 1
  • 1
Amira Elsayed Ismail
  • 9,216
  • 30
  • 92
  • 175

1 Answers1

30

Well, this would do it (assuming .NET 3.5):

var allValues = (AttributeType[]) Enum.GetValues(typeof(AttributeType));

var array = allValues.Select(value => new object[] { value, value.ToString() })
                     .ToArray();

or use an anonymous type:

var array = allValues.Select(value => { Value = value, Name = value.ToString() })
                     .ToArray();
Jon Skeet
  • 1,421,763
  • 867
  • 9,128
  • 9,194