[C#]Enum(列挙型)の要素をループするには?

C#

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

enum(列挙型)の要素をループする方法を紹介します。

スポンサーリンク

方法

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

enum(列挙型)の要素をループするには、GetValues()を使います。

まず、foreachループを記述します。

foreachのループ対象にEnum.GetValues()を指定します。

Enum.GetValues()の引数でtypeof()を呼び出し、typeof()の引数に列挙型を指定します。

そして、foreachのループ処理を記述します。

ループ処理内では、ループ変数でEnumの要素を取得できます。

foreach(var value in Enum.GetValues(typeof(Names)))
{
    //ループ処理
}

上記のforeachループは、Enumの要素をループします。

Enumの要素の値は、ループ変数をintに変換することで取得できます。

(int)value //Enumの要素の値を取得

使用例

using System;
using System.Collections.Generic;
public class Example
{
    public enum Names 
    {
        Taro = 18,
        Ryoma = 37,
        Kazuma = 16,
        Keiko = 24,
        Megumi = 10,
    }
    
    public static void Main()
    {
        foreach(var value in Enum.GetValues(typeof(Names)))
        {
            Console.WriteLine(value + "=" + (int)value);
        }
    }
}

/*
    出力:
    Megumi=10
    Kazuma=16
    Taro=18
    Keiko=24
    Ryoma=37
*/

コメント

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