1. ホーム
  2. c#

[解決済み] enumの最大値の取得

2022-04-23 03:32:48

質問

enumの最大値を取得する方法は?

どのように解決するのですか?

Enum.GetValues()は値を順番に返してくれるようなので、このようなことも可能です。

// given this enum:
public enum Foo
{
    Fizz = 3, 
    Bar = 1,
    Bang = 2
}

// this gets Fizz
var lastFoo = Enum.GetValues(typeof(Foo)).Cast<Foo>().Last();

編集

コメントに目を通すのが面倒な人へ。このような方法もあります。

var lastFoo = Enum.GetValues(typeof(Foo)).Cast<Foo>().Max();

... enum 値のいくつかが負の値である場合に動作します。