假设我有两个异步函数:
Result1 result1 = await getResult1();
Result2 result2 = await getResult2();
doSomething(result1, result2);
理想情况下,我希望编译器分析我的方法并看到getResult2()
不依赖于getResult1()
的结果,并将其编译为同时运行两者的代码,等待两者的结果后再继续。
问题1:这是发生了什么吗?
问题2:如果不是,假设Result1
和Result2
没有共同的基类型,我该如何做才能实现这一点,因此无法使用Task.WhenAll()
?
object
以外...我当然可以装箱和拆箱,但那似乎不是惯用的方法。 - George Mauerasync-await
关注的是异步性而非并行性。 - Paulo Morgado