title: Using Elvis operator in combination with string.Equals
body: <p>I wonder why the following code works in C# 6.0: <br>
  (In this example <em>data</em> is a random class containing <em>val</em> as a public string)</p>
  
  <pre><code>if ("x".Equals(data.val?.ToLower()) { }
  </code></pre>
  
  <p>But the following line isn't:</p>
  
  <pre><code>if (data.val?.ToLower().Equals("x")) { }
  </code></pre>
  
  <p>Visual Studio shows me the following error:</p>
  
  <blockquote>
    <p>Cannot implicitly convert type 'bool?' to 'bool'. An explicit conversion exists (are you missing a cast?)</p>
  </blockquote>