title: C# chain ?? operator for different types
body: <p>I'm implementing a ToString method for an object. The method looked like:</p>
  
  <pre><code>public override string ToString()
  {
      return "E" + (myNum ?? SQLIndex) + STK.ExtraLabel(areaType);
  }
  </code></pre>
  
  <p>Where myNum is a nullable int and SQLIndex is just an int.</p>
  
  <p>but the powers be have decided that if SQLIndex isn't set yet (used to be = -1 if not set), we should put "NEW" instead of -1 there.</p>
  
  <p>So I changed SQLIndex to a nullable int, but this code doesn't work because I'm guessing the ?? operator can't return both int and string, even though the int would be casted to a string:</p>
  
  <pre><code>public override string ToString()
  {
      return "E" + (myNum ?? SQLIndex ?? "NEW") + STK.ExtraLabel(areaType);
  }
  </code></pre>
  
  <p>I'm currently using a ternary operator to accomplish the same effect, but for readability's sake, is there any way to use the shortcut ?? operator here?</p>