我試圖查詢一個嵌套鏈表,其中結果是子值乘以父列表中的值的乘積,然後添加結果。查詢嵌套鏈表
此代碼:
var X = (from B in Main.Globals.BookLL
from G in B.GreeksLL
where B.DealNo == 1 && B.Strategy == "Condor" &&
G.BookOrComp == "Book" && G.GreekType == "Delta"
select new
{
Total = G.Data[3] * B.BookPosn * B.FxRate
}).Sum(s=>s.Total);
...但我寧願使用拉姆達。下面的代碼給出了在行尾顯示的註釋的編譯錯誤。
double Z = Globals.BookLL.Where(B => B.DealNo == 1 && B.Strategy == "Condor").
SelectMany(G => G.GreeksLL).
Where(G => G.BookOrComp == "Book" && G.GreekType == "Delta").
Select(G => new { Total = G.Data[3] * B.BookPosn*B.FxRate }). // Compile error "B does not exist in the current context"
Sum();
我不知道該怎麼做,請看看並更正查詢?謝謝。
_「此代碼不能正常工作」 _ - 是無益的。 – MickyD
@MickyD讀取代碼中的'// B在當前上下文中不存在'。 –
我在代碼中看到顯示爲註釋的編譯錯誤。好的,我會編輯這個問題! – Zeus