C# 方法内的Return wait fooancy()或Return fooancy()

C# 方法内的Return wait fooancy()或Return fooancy(),c#,asynchronous,async-await,C#,Asynchronous,Async Await,假设我有一个名为fooancy()的方法: 我的问题是:在BarAsync中,我应该使用return来等待这个.fooancy()还是return这个.fooancy(),为什么 我试着四处看看,但没有找到这个模式的最终答案 我的问题是:在BarAsync内部,我应该使用return wait this.fooancy()还是返回this.fooancy(),为什么 您应该使用returnfooancy(foo,bar)。在本例中,除了调用另一个异步方法之外,您没有做任何事情,因此通过避免asy

假设我有一个名为
fooancy()
的方法:

我的问题是:在BarAsync中,我应该使用
return来等待这个.fooancy()
还是
return这个.fooancy()
,为什么

我试着四处看看,但没有找到这个模式的最终答案

我的问题是:在BarAsync内部,我应该使用return wait this.fooancy()还是返回this.fooancy(),为什么


您应该使用
returnfooancy(foo,bar)
。在本例中,除了调用另一个异步方法之外,您没有做任何事情,因此通过避免
async
wait
,您可以避免少量开销。

我已经编辑了您的标题。请看“”,其中的共识是“不,他们不应该”。@JohnSaunders:明白了,先生。我想你应该返回这个。foosync(foo,bar);至于是否等待,则由调用方决定。它们基本上是相同的(除非在调用FooAsync之前,您的BarAsync中还有其他等待)。也可能与我在理解async/await:)的过程中遇到的您的许多文章重复。此外,我们还应该提到这篇文章:
public Task<T> FooAsync<T>(T foo, T bar)
{
    // do some stuff
    var returnFoo = await netLibraryMethodAsync(x, y, z);
    // do some more stuff
    return returnFoo as T;
}
public Task<string> BarAsync(string foo, string bar)
{
    return this.FooAsync(foo, bar);
}