我有一个枚举: -
public enum EnumType
{
Type1_Template,
Type2_Folders,
Type3_Template,
Type1_Folders,
}
现在,在我的控制器中我想要
因此: - 获取Enum列表
return new Models.DTOObject()
{
ID = model.id,
Name = model.Name,
Description = model.Description,
//Type is the property where i want the List<Enum> and replace the underscore with space
Type = Enum.GetValues(typeof(EnumType)).Cast<EnumType>().ToList()
};
但是现在,我正在尝试这样的事情(可能听起来很奇怪): -
return new Models.Customers()
{
ID = model.id,
Name = model.Name,
Description = model.Description,
//Type is the property where i want the List<Enum> and replace the underscore with space
Type = Enum.GetValues(typeof(EnumType)).Cast<EnumType>().ToList().Select(e => new
{
Value = e,
Text = e.ToString().Replace("_", " ")
})
};
但会抛出语法错误(&#39 ;;&#39;缺失)。虽然它只是尝试了一些东西。请让我知道如何实现它。
答案 0 :(得分:7)
你应该能够做到
Enum.GetNames(typeof(EnumType)).Select(item => item.Replace('_',' '));
答案 1 :(得分:0)
你应该使用
string[] names = Enum.GetNames(typeof(EnumType));
之后你可以使用for循环(或类似的东西)并将“_”替换为“”。
for(int i = 0; i < names.Length; i++){
names[i].Replace('_',' ');
}
见MSDN;