The this keyword and double question mark (??) confuse me
<blockquote>
  <p><strong>Possible Duplicate:</strong><br>
  <a href="http://stackoverflow.com/questions/446835/what-do-two-question-marks-together-mean-in-c">What do two question marks together mean in C#?</a>  </p>
</blockquote>



<p>Is this a new feature added to C# 3.x ?</p>

<p>e.g </p>

<pre><code>public class HttpRequests
{
    public string GetHtmlContent(this HttpRequest myRequest)
    {            
       //do something
       return retStr ?? (retStr=new GetHtmlStr(urlStr));
    }
}
</code></pre>

<p>The <strong>this</strong> and <strong>??</strong> are strange to me since I have not updated my know of C# for years. I know C# 2.x. </p>

<p>For conditional <strong>if</strong> and return value i.e </p>

<p><code>return a == 0 ? a:b;</code></p>

<p>yes I can understand what this is.
Could someone please explain ? </p>
