枚举值的最小和最大操作

Tim*_*lds 5 c#

使用C#,我如何获取两个枚举值的最小值或最大值?

例如,如果我有

enum Permissions
{
    None,
    Read,
    Write,
    Full
}
Run Code Online (Sandbox Code Playgroud)

在那里,让我做的方法Helper.Max(Permissions.Read, Permissions.Full),并得到Permissions.Full,例如?

Lee*_*Lee 13

枚举实现IComparable,您可以使用:

public static T Min<T>(T a, T b) where T : IComparable
{
    return a.CompareTo(b) <= 0 ? a : b;
}
Run Code Online (Sandbox Code Playgroud)