如何在lambda表达式中调用异步方法?

时间:2013-06-06 06:12:52

标签: c# sorting lambda

我想按方法排序数组:

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

我希望计算执行异步。

我正在使用.net 4,所以我不能将这些方法声明为异步。

如果我要创建某种首先计算值的代码,请存储它们,而不是按lambda表达式对它进行排序,但是如何直接在lambda表达式中进行排序?

有可能吗?

1 个答案:

答案 0 :(得分:1)

从你的问题中不清楚你究竟想要什么。

这可能对你有所帮助,它会首先计算所有值,然后用它对它进行排序,尽管你的术语aync对我来说并不清楚。

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