GetSystems()
和GetActions()
都返回不同类型的IEnumerable<T>
。我需要做什么才能访问下面的结果?我需要使用Task.WaitAll()
或类似的东西吗?
Task t1 = new Task(() => GetSystems());
Task t2 = new Task(() => GetActions());
List<Task> tasks = new List<Task>() { t1, t2 };
Parallel.ForEach(tasks, t =>
{
t.Start();
});
//t1.Result...?
我正在使用C# 4.0。
更新:
private Task<List<SYSTEM>> GetSystems()
{
return Task.Factory.StartNew(() =>
{
using (var context = new DbContext())
{
return context.SYSTEM.ToList();
}
});
}
Task
没有Result
属性,而Task<T>
则有。我们不知道GetSystems
或GetActions
的具体作用,但几乎可以确定你需要某种形式的Task<T>
。 - Jon SkeetTask<IEnumerable<AS_SYSTEM>>
t1 = new Task(() => GetSystems());。然而,你几乎肯定想要返回
context.SYSTEM.ToList()` 否则它对你没有用... - Jon Skeet