次のコードでは、変数 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 配列を Enum に対してチェックできますか?