Enum in C#和foreach

时间:2010-10-13 10:28:39

标签: c#

  

可能重复:
  C#: How to enumerate an enum?

大家好,

我有一个Enum

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

我想预先知道这个枚举,并以这种格式制作一个对象数组

object data = new object[]
{
   // new object[] { 1,"TextField"}
   new object[] { enumValue, enumText}
};

1 个答案:

答案 0 :(得分:23)

嗯,这样做(假设.NET 3.5):

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

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

或使用匿名类型:

var array = allValues.Select(value => { Value = value, Name = value.ToString() })
                     .ToArray();