title: Suppressing "warning CS4014: Because this call is not awaited, execution of the current method continues..."
body: <p>This is not a duplicate of <a href="https://stackoverflow.com/questions/15522900/how-to-safely-call-an-async-method-in-c-sharp-without-await">"How to safely call an async method in C# without await"</a>.</p>
  
  <p><strong>How do I nicely suppress the following warning?</strong></p>
  
  <blockquote>
    <p>warning CS4014: Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call.</p>
  </blockquote>
  
  <p>A simple example:</p>
  
  <pre><code>static async Task WorkAsync()
  {
      await Task.Delay(1000);
      Console.WriteLine("Done!");
  }
  
  static async Task StartWorkAsync()
  {
      WorkAsync(); // I want fire-and-forget 
  
      // more unrelated async/await stuff here, e.g.:
      // ...
      await Task.Delay(2000); 
  }
  </code></pre>
  
  <p><strong>What I tried and did not like:</strong></p>
  
  <pre><code>static async Task StartWorkAsync()
  {
      #pragma warning disable 4014
      WorkAsync(); // I want fire-and-forget here
      #pragma warning restore 4014
      // ...
  }
  
  static async Task StartWorkAsync()
  {
      var ignoreMe = WorkAsync(); // I want fire-and-forget here
      // ...
  }
  </code></pre>
  
  <p><strong>Updated</strong>, since the <a href="http://stackoverflow.com/revisions/22630057/1">original accepted answer</a> has been edited, I've changed the accepted answer to <a href="https://stackoverflow.com/a/47790150/1768303">the one using C# 7.0 discards</a>, as I don't think <code>ContinueWith</code> is appropriate here. Whenever I need to log exceptions for fire-and-forget operations, I use a more elaborate approach <a href="https://stackoverflow.com/a/22864616/1768303">proposed by Stephen Cleary here</a>.</p>