C# 如何从枚举中的数据创建对象列表?
我的应用程序有以下代码C# 如何从枚举中的数据创建对象列表?,c#,enums,C#,Enums,我的应用程序有以下代码 var result = await db.ContentTypes .Select(e => new { Id = e.ContentTypeId, Name = e.Name }) .AsNoTracking() .ToListAsync(); 它从SQL Server表中获取数据,并创建具有Id和Name的对象列表。这很有效,我使用它从许多表中获取参考数据 但是,有一个数据集合存储在枚举中: public
var result = await db.ContentTypes
.Select(e => new
{
Id = e.ContentTypeId,
Name = e.Name
})
.AsNoTracking()
.ToListAsync();
它从SQL Server表中获取数据,并创建具有Id
和Name
的对象列表。这很有效,我使用它从许多表中获取参考数据
但是,有一个数据集合存储在枚举中:
public enum ERole {
Super = 0,
Admin = 1,
....
Guest = 8
}
我知道我可以硬编码一个解决方案,但不需要两个硬编码结构来保存角色信息
如何从枚举中获取数据并将其放入一个具有Id和名称的列表,就像我对内容类型所做的那样?如果我得到的信息正确,您需要这样的信息:
Enum.GetValues(typeof(ERole))
.Cast<ERole>()
.Select(x => new { Id = (int)x, Name = x.ToString() })
.ToList();
Enum.GetValues(typeof(ERole))
.Cast()
.Select(x=>new{Id=(int)x,Name=x.ToString()})
.ToList();
如果我没弄错,你想要这样的东西:
Enum.GetValues(typeof(ERole))
.Cast<ERole>()
.Select(x => new { Id = (int)x, Name = x.ToString() })
.ToList();
Enum.GetValues(typeof(ERole))
.Cast()
.Select(x=>new{Id=(int)x,Name=x.ToString()})
.ToList();