下面是一些代碼,(顯然)不會編譯:在Linq查詢中執行代碼塊的語法?
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<>
(或者我能嗎?),因爲輸入類型是匿名的。那麼讓這個工作起來的正確語法是什麼?
這是Linq的對象? – cadrell0 2013-05-09 16:40:15
使用lambda或匿名函數。 – 2013-05-09 16:40:43
@ofstream - 我知道我可以使用lambda來做,但出於在我的實際代碼中可讀性的原因,我想使用查詢語法。 – 2013-05-09 16:42:17