title: async: return task or await first in asp.net webapi
body: <p>Hi I have a small question with async/await on webapi. Is there a difference between these two usages and which one is considered the correct one? After reading <a href="https://stackoverflow.com/questions/17886992/at-the-end-of-an-async-method-should-i-return-or-await">SimilarQuestion on SO</a> I guess Variant 1 is better because of less overhead but I need to be sure, therefore I ask again;)</p>
  
  <p>Variant 1:</p>
  
  <pre><code>public Task&lt;string&gt; Get(){
      return Bar();
  }
  </code></pre>
  
  <p>variant 2:</p>
  
  <pre><code>public async Task&lt;string&gt; Get(){
      return await Bar();
  }
  </code></pre>
  
  <p>Methods:</p>
  
  <pre><code>public async Task&lt;string&gt; Foo(){
      await Task.Delay(5000);
      return "Done";
  }
  
  public Task Bar(){
      return Foo();
  }
  </code></pre>
  
  <p>Thanks for hints</p>