title: Is there any difference between Task.Run(async () => await MethodAsync()).Result and MethodAsync().Result?
body: <p>I need to implement a third-party interface that doesn't support async, specifically IValueResolver from automapper.</p>
  
  <p>I'm wondering what's the difference between these two pieces of code? Is there any advantage of using the first instead of the second? I will call an external async API on MethodAsync()</p>
  
  <p>Will both lock the thread or just the second?</p>
  
  <p>1</p>
  
  <pre><code>var myValue = Task.Run(async () =&gt; await MethodAsync()).Result;
  </code></pre>
  
  <p>2</p>
  
  <pre><code>var myValue = MethodAsync().Result;
  </code></pre>