我想将List<AnonymousType>
转换为List<string>
。我有以下代码:
var lkpiTodisplay = _MGMTDashboardDB.KPIs.Where(m => m.Compulsory == true && m.Active == true)
.Select(m => new
{
KPI_Name = m.Absolute == true ? m.KPI_Name : (m.KPI_Name + "%")
}).ToList();
for(int i=1; i<= BusinessTargetCol; i++)
{
lkpiTodisplay.Add(new
{
KPI_Name = "Business Target"
});
}
此代码会创建List<AnonymousType>
。然后我想将此List分配给变量List<string>
,如以下代码所示:
DashboardViewModel lYTMDashboard = new DashboardViewModel()
{
KPIList = (List<string>) lkpiTodisplay,
//other assignments
};
施法不起作用。我该如何转换变量?只要 KPIList 变量保留为List<string>
,欢迎修改第一个代码段的其他解决方案。
由于
弗朗西斯
答案 0 :(得分:15)
如果可以,您可以跳过匿名类,如果您不需要它,
lkpiTodisplay.Add("Business Target");
或
你可以做到
lkpiTodisplay.Select( x => x.KPI_Name).ToList();
获取List<String>
答案 1 :(得分:6)
您无法指定列表&lt; AnonymousType&gt;列出&lt; String&gt;,这些类型不兼容
使用lkpiToDiplay.Select(i => i.ToString()).ToList()