スポンサーリンク

【C#】enumの要素数を取得する方法

c#

実装

public enum AnimalType
{
     DOG,
     CAT,
     BIRD,
}
Enum.GetValues(typeof(AnimalType)).Length;

enumの要素数を取得するときは、上記のコードのようにして取得することが出来ます。毎回このように書くのは面倒なので、もう少し使いやすくしていきます。

もう少し使いやすくする

実装

using System;

public class Comons
{
    /// <summary>
    /// 指定された列挙型の値の要素数を返します
    /// </summary>
    public static int GetEnumLength<T>()
    {
        return Enum.GetValues(typeof(T)).Length;
    }
}

この実装では、ジェネリック型を使用して、型の違うenumでも簡単に要素数を取得できるようにしています。このように、クラスの関数としておけば、どこでも簡単に使えるので、とても便利になります。

使用例

int enumLength = Comons.GetGetEnumLength<AnimalType>();

<>の中に要素数を知りたいenumを入れるだけで、取得することが出来ます。

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