我有以下代码,其中变量 userRoles 是一个字符串数组,可以包含和或全部“Super”、“Admin”、“User”或“Guest”。
public static RoleType GetMaxRole()
{
var userRoles = Roles.GetRolesForUser();
// var maxRole = userRoles.Max();
if userRoles.Contains("Super")
return RoleType.Super;
if userRoles.Contains("Admin")
return RoleType.Admin;
if userRoles.Contains("User")
return RoleType.User;
if userRoles.Contains("Guest")
return RoleType.Guest;
return RoleType.Default;
}
这是我正在使用的枚举:
public enum RoleType
{
Default = 10,
Guest = 20,
User = 30,
Admin = 40,
Super = 50
}
有没有一种方法可以在没有多个 if 语句的情况下实现相同的目标。某种方式我可以让 userRoles 数组检查枚举?