mct*_*una 1 .net c# ienumerable enums
我正在尝试使用枚举来提供我的Dropdownlist但我无法将其转换为 IEnumerable<SelectListItem>
这是代码:
EducationStatusEnum[] values = (EducationStatusEnum[])Enum
.GetValues(typeof(EducationStatusEnum));
var list = from value in values
select new { Value = ((int)value).ToString() , Text = value.ToString()};
studentViewModel.LastEducationStatusList = list;
Run Code Online (Sandbox Code Playgroud)
这是错误消息:
Cannot implicitly convert type 'System.Collections.Generic .IEnumerable<AnonymousType#1>' to 'System.Collections.Generic .IEnumerable<System.Web.Mvc.SelectListItem>'. An explicit conversion exists (are you missing a cast?)
我至少走在正确的道路上吗?还有其他转换方式吗?
没有更完整的代码示例,很难确定.但我希望这对你有用:
EducationStatusEnum[] values = (EducationStatusEnum[])Enum
.GetValues(typeof(EducationStatusEnum));
var list = from value in values
select new SelectListItem()
{
Value = ((int)value).ToString(),
Text = value.ToString()
};
studentViewModel.LastEducationStatusList = list;
Run Code Online (Sandbox Code Playgroud)
换句话说,从错误消息中看来,这里唯一的问题是枚举类型与预期的枚举类型不匹配LastEducationStatusList.错误消息说它正在尝试分配IEnumerable<System.Web.Mvc.SelectListItem>,因此通过使用SelectListItemLINQ查询中的实际类型而不是匿名类型,它应该工作.