[C#]enum(列挙型)の最大値を取得するには?

C#

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

enum(列挙型)の最大値を取得する方法を紹介します。

スポンサーリンク

方法

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

enum(列挙型)の最大値を取得するには、System.Linqを使います。

まず、System.Linqを導入します。

using System.Linq;

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

GetValues()からCast<T>()を呼び出します。

そして、Cast<T>()からMax()を呼び出します。

int maxValue = Enum.GetValues(typeof(EnumName)).Cast<int>().Max();

上記のMax()は、GetValues()の引数に指定した列挙型の最大値を返します。

使用例

using System;
using System.Linq;
public class Example
{
    public enum Names 
    {
        Taro = 18,
        Ryoma = 37,
        Keiko = 24,
        Megumi = 10,
    }
    
    public static void Main()
    {
        int maxValue = Enum.GetValues(typeof(Names)).Cast<int>().Max();
        
        Console.WriteLine(maxValue);
    }
}

/*
    出力:
    37
*/

コメント

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