如何获取枚举的最大值

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (20)

如何获得枚举的最大值?

提问于
用户回答回答于

GetValue()似乎按顺序返回值,因此可以这样做:

// 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();

当你的某些枚举值为负值时,它会起作用.

用户回答回答于

如果只需要min和max int值,那么可以这样做。

最大:

Enum.GetValues(typeof(Foo)).Cast<int>().Max();

最小:

Enum.GetValues(typeof(Foo)).Cast<int>().Min();

扫码关注云+社区