【发布时间】:2021-05-08 14:54:47
【问题描述】:
下面给出了我的用户类
public class User
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public string UserName { get; set; }
public Roles Role { get; set; }
public List<Role> Roles { get; set; }
}
下面给出了我的角色类
public class Role
{
public int Id { get; set; }
public string RoleName { get; set; }
}
我的枚举如下所示
public enum Roles
{
Admin,
Guest,
Accountant
}
使用下面给出的代码将字符串与枚举值进行比较时出现错误(无法将字符串与枚举进行比较)
if(User.Roles.Where(m => _roles.Contains(m.RoleName)).ToList()))
{
}
=>* 这里 m.RoleName 出现错误(无法将字符串与枚举进行比较)
【问题讨论】:
-
_roles 的类型?
-
如果你想比较枚举名称,例如。 “Admin” == Role.RoleName,这会有所帮助吗 -> stackoverflow.com/questions/309333/enum-string-name-from-value
-
私有只读 IList
_roles; -
角色是枚举..