我正在测试下面的代码,由于某种原因,我从来没有看到输出“test2”。谁知道为什么? 它应该做的是以延迟形式运行一组任务,然后输出test2,但这不会发生。
Console.WriteLine("test1")
Dim tasks As IEnumerable(Of Task(Of Integer)) = {Task.Delay(3000).ContinueWith(Function() 3), Task.Delay(1000).ContinueWith(Function() 1), Task.Delay(2000).ContinueWith(Function() 2), Task.Delay(5000).ContinueWith(Function() 5), Task.Delay(4000).ContinueWith(Function() 4)}
Console.WriteLine("test2")
答案 0 :(得分:0)
Task(Of Integer)
会抛出无效的强制转换异常。你可以写下这个:
Dim tasks As IEnumerable(Of Task) = {
Task.Delay(3000).ContinueWith(Function() 3),
Task.Delay(1000).ContinueWith(Function() 1),
Task.Delay(2000).ContinueWith(Function() 2),
Task.Delay(5000).ContinueWith(Function() 5),
Task.Delay(4000).ContinueWith(Function() 4)
}