重複の可能性あり:
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();