うにty生活

UnityChanを生活させたい

Enumのリスト取得方法

Enumのリストが欲しいときいつも使っているコードを紹介します。

 

 

やりたいこと

こういうEnumをリストですべて取得したい

ついでにデフォルト要素の排除は選択可能にする

public enum Test
{
    Default = 0,
    Banana = 1,
    Apple = 2,
    Orange = 3,
    Melon = 4,
}

コード

public static List<T> GetList<T>(bool removeDefault = true) where T : Enum
{
    var result = Enum.GetValues(typeof(T)).Cast<T>().ToList();
    if (removeDefault)
    {
        result.Remove(default(T));
    }
    return result;
}

 

使い方

Debug.Log("デフォルト要素なし");
foreach (var t in EnumUtility.GetList<Test>())
{
    Debug.Log(t.ToString());
}
Debug.Log("デフォルト要素あり");
foreach (var t in EnumUtility.GetList<Test>(false))
{
    Debug.Log(t.ToString());
}

出力結果

出力結果の画像

 

使ってみてね