枚举C#和foreach

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

大家好,

我有一个枚举

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

我想要foreach这个枚举并以这种格式创建一个对象数组

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();
链接地址: http://www.djcxy.com/p/16287.html

上一篇: Enum in C# and foreach

下一篇: How to find out all possible values of an enum?