这是一些(显然)无法编译的代码:
var q = from x in myAnonymousTypeCollection
select new {
x.ID,
CalcField = {
switch(x.SomeField) {
case 1:
return Math.Sqrt(x.Field1);
case 2:
return Math.Pow(x.Field2, 2);
default:
return x.Field3;
}
}
};
你明白了;我正在尝试以CalcField
完全不同的方式进行计算,具体取决于 的值SomeField
是什么。我不能使用Func<>
(或者我可以吗?),因为输入类型是匿名的。那么让这个工作的正确语法是什么?