[C#]Enum(列挙型)を配列に変換するには?

C#

どうも、ちょげ(@chogetarou)です。

Enum(列挙型)を配列に変換する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

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()を使う方法

コメント

タイトルとURLをコピーしました