【发布时间】:2011-11-11 22:53:10
【问题描述】:
我被困在看似简单的事情上,但我看不出我做错了什么。我有一个简单的类结构“StaticQuote”,它描述了从我试图找到最小值的复杂计算返回的值。因为计算调用很昂贵,所以我创建了一个任务数组,因此计算并行执行,然后使用 Task.WhenAll 等待它们全部完成,然后再比较结果(存储在 StaticQuote 对象中)。问题是在尝试返回 StaticQuotes 数组时出现以下错误:
无法将类型
'System.Threading.Tasks.Task<Services.QuoteGeneratorAsync.StaticQuote[]>'隐式转换为'Services.QuoteGeneratorAsync.StaticQuote[]'
我看到过类似的字符串等示例,其中该分配完美地工作,所以无法理解哪个右侧没有返回一组 StaticQuote 结果?我是多线程代码和异步 CTP 的新手。谁能提供答案?非常感谢。
示例问题:
List<Task<StaticQuote>> Calculations = new List<Task<StaticQuote>>();
foreach()
{
Calculations.Add(TaskEx.RunEx(() => Calculate(...my params....)));
}
StaticQuote[] Quotes=TaskEx.WhenAll<StaticQuote>(Calculations); --//this line won't compile
【问题讨论】:
标签: c#