枚举在C#和foreach

可能重复:
C#:如何枚举枚举?

大家好,

我有一个Enum

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

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

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

好吧,这样做(假设.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();