변수 userRoles가 "Super", "Admin", "User"또는 "Guest"를 포함 할 수있는 문자열 배열 인 다음 코드가 있습니다.Enum에 대해 문자열 배열을 검사하고 발견 된 가장 높은 값을 반환하려면 어떻게해야합니까?
public enum RoleType
{
Default = 10,
Guest = 20,
User = 30,
Admin = 40,
Super = 50
}
내가 if 문 여러 않고 동일한을 달성 할 수있는 방법이 있나요 : 여기
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;
}
은 내가 사용하고 열거입니다. Enum에 대해 userRoles 배열을 검사 할 수있는 방법은 무엇입니까?
확인이 게시물 : http://stackoverflow.com/questions/105372/how-to-enumerate-an-enum –
당신의 GetMaxRole은 언제나 많은 역할이있는 경우에도, 하나 roleType에를 반환하는 것입니다? – gideon