0

以下代码为我的用户返回一组角色:

var userRoles = Roles.GetRolesForUser();

可能的角色是:

public enum RoleType
{
    Default = 10,
    Guest = 20,
    User = 30,
    Admin = 40,
    Super = 50
}

如何通过 userRoles 数组检查我的代码并返回它可以找到的最高 RoleType?

4

1 回答 1

2
var highestRole = userRoles.Max();

做你想做的事。

(您需要using System.Linq;在文件顶部添加此功能)

更新 1: 在线工作示例:http: //ideone.com/U1hXK

更新 2:

上面的示例假定这userRoles是一个RoleType值数组。

如果userRoles是代表角色类型的s数组string,那么我们需要先解析这些值。代码现在变为:

var highestRole = userRoles
    .Select(r => Enum.Parse(typeof(RoleType), r))
    .Max();

在线工作示例:http: //ideone.com/JHHva

于 2012-10-14T08:59:07.680 回答