私は次の列挙値を持っていると言う
enum Language
{
CSharp= 0,
Java = 1,
VB = 2
}
それらを値のリストに変換したい(つまり){ CSharp,Java,VB}.
それらを値のリストに変換する方法は?
Language[] result = (Language[])Enum.GetValues(typeof(Language))
列挙型のリストが必要な場合は、値を取得します。
名前のリストが必要な場合は、これを使用します。
string[] names = Enum.GetNames(typeof(Languages));
あなたの要件を正しく理解していれば、あなたはこのようなものを探しています
var enumList = Enum.GetValues(typeof(Language)).OfType<Language>().ToList();
リストに列挙型要素を言語タイプとして保存する場合:
Enum.GetValues(typeof(Language)).Cast<Language>().ToList();
文字列として保存したい場合:
Enum.GetValues(typeof(Language)).Cast<Language>().Select(x => x.ToString()).ToList();
このコードを使用できます
static void Main(string[] args)
{
enum Days { Sat, Sun, Mon, Tue, Wed, Thu, Fri };
Array arr = Enum.GetValues(typeof(Days));
List<string> lstDays = new List<string>(arr.Length);
for (int i = 0; i < arr.Length; i++)
{
lstDays.Add(arr.GetValue(i).ToString());
}
}