以下代码为我的用户返回一组角色:
var userRoles = Roles.GetRolesForUser();
可能的角色是:
public enum RoleType
{
Default = 10,
Guest = 20,
User = 30,
Admin = 40,
Super = 50
}
如何通过 userRoles 数组检查我的代码并返回它可以找到的最高 RoleType?
以下代码为我的用户返回一组角色:
var userRoles = Roles.GetRolesForUser();
可能的角色是:
public enum RoleType
{
Default = 10,
Guest = 20,
User = 30,
Admin = 40,
Super = 50
}
如何通过 userRoles 数组检查我的代码并返回它可以找到的最高 RoleType?
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