2013-06-06 80 views
0

我想通過方法訂購數組:如何在lambda表達式中調用異步方法?

MyList.OrderBy(p=>CalcValue(p)) 

我想,計算將執行異步。

我使用.net 4,所以我不能將方法聲明爲async。

如果我會創建一些首先會計算值的代碼,存儲它們,並且只能通過lambda表達式對它進行排序,但是如何直接在lambda表達式中進行呢?

可能嗎?

+1

您需要準確解釋「計算將執行異步」的含義 - 此處的上下文是什麼?你想回報什麼?更多的細節會讓你更容易給你一個有用的答案。 –

回答

1

從你的問題中不太清楚你到底想要什麼。

這可能會幫助你,它會首先計算所有的值,然後將它與它分類,儘管你的術語aync在這個上下文中對我來說還不清楚。

MyList.Select(p=>new {p,CalcValue = CalcValue(p)}) 
     .OrderBy(x=>x.CalcValue) 
     .Select(x=>x.p); 
+0

謝謝!這非常有幫助! – user436862

+0

歡迎!這是你想要的嗎? –

+0

如果它對您有幫助,您可以將其標記爲正確答案,並且這正是您想要的。 –