どうも、ちょげ(@chogetarou)です。
Enum(列挙型)を配列に変換する方法を紹介します。
方法

Enum(列挙型)を配列に変換する方法は、2つあります。
GetNames()
1つは、GetNames()を使う方法です。
まず、Enum.GetNames()を呼び出します。
そして、GetNames()の引数でtypeof()を呼び出し、引数に列挙型の名前を指定します。
string[] array = Enum.GetNames(typeof(enumName));
上記のGetNames()は、typeof()の引数に指定した列挙型のメンバーの配列を返します。
使用例
using System;
public class Example
{
public enum Names
{
Taro = 18,
Ryoma = 37,
Kazuma = 16,
Keiko = 24,
Megumi = 10,
}
public static void Main()
{
string[] names = Enum.GetNames(typeof(Names));
foreach(string name in names)
{
Console.WriteLine(name);
}
}
}
/*
出力:
Megumi
Kazuma
Taro
Keiko
Ryoma
*/
GetValues()
もう1つは、GetValues()を使う方法です。
まず、Enum.GetValues()を呼び出します。
GetValues()の引数でtypeof()を呼び出し、引数に列挙型の名前を指定します。
Enum.GetValues()の先頭に「(int[])」を付けます。
int[] values = (int[])Enum.GetValues(typeof(Names));
上記のコードは、typeof()の引数に指定した列挙型の値の数値の配列を返します。
使用例
using System;
public class Example
{
public enum Names
{
Taro = 18,
Ryoma = 37,
Kazuma = 16,
Keiko = 24,
Megumi = 10,
}
public static void Main()
{
int[] values = (int[])Enum.GetValues(typeof(Names));
foreach(int value in values)
{
Console.WriteLine(value);
}
}
}
/*
出力:
10
16
18
24
37
*/
まとめ
Enum(列挙型)を配列に変換する方法は、次の2つです。
- GetNames()を使う方法
- GetValues()を使う方法
コメント