我有一个表,其中包含一个只有数字的字段。我试图实现的是表示枚举中的实际数字,并将数字“转换”为可读的值。
例如,我有一个用户表,其中包含一个名为用户角色的字段。角色有四种:super admin、admin、manager和regular user。
Super Admin is represented as 0 Admin is represented as 1 Manager is represented as 2 ManagerAdmin is represented by 3 (combination of admin = 1 and Manager = 2) Regular user is represented as 4
当尝试从Enum = 3翻译时,我如何显示Manager; Admin?
UserModel
public int UserRoles {get; set;} public string UserNames {get; set;} public string UserAddress {get; set;}
枚举
public enum UserRole
{
SuperAdmin = 0,
Admin = 1,
Manager = 2,
Regular = 3
ManagerAdmin = 4
}C#码
public IEnumerable<User> UserInfo()
{
var userInfo = context.User.Select(u => new UserModel
{
UserRoles = u.Roles, //this is where I want the actual string roles
UserNames = u.Names,
UserAddress = u.Address
}).ToList();
}//我在想这样的事情:
if(u.Roles == 0)
{
// project Super Admin
}
else if(u.Roles == 1)
{
// project Admin
} etc...发布于 2019-04-10 00:06:14
Enum.GetName(typeof(UserRole), enumValue)会给你你想要的Rolename。这里的enumValue是0,1,2,3
var userInfo = context.User.Select(u => new UserModel
{
UserRoles =Enum.GetName(typeof(UserRole), u.Roles) ,
UserNames = u.Names,
UserAddress = u.Address
}).ToList();https://stackoverflow.com/questions/55602858
复制相似问题