C# の Enum と foreach [重複] 質問する

C# の Enum と 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}
};

ベストアンサー1

そうですね、これは可能です (.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();

おすすめ記事