我从linq查询返回匿名类型:
select new {
Exists = true,
Code = new Func<string,string>((string param) => {
if (param == "T")
return "Tab";
if (param == "E")
return "Eub";
if (param == "C")
return "GTW";
if (param == "X")
return "XUX";
return "";
}
}
一个错误:
带有语句主体的lambda表达式无法转换为表达式树
被扔了,但什么也没告诉我。
问题:如何在不创建新的非匿名函数的情况下处理该问题?
答案 0 :(得分:0)
为什么使用Func<string,string>
?
something.Select(x => new {
Exists = true,
Code = x.param == "T" ? "Tab" :
x.param == "E" ? "Eub" :
x.param == "C" ? "GTW" :
x.param == "X" ? "XUX" : ""
});