What is a good usage of the is-operator
<p>What is a <em>good</em> usage of the is-operator?</p>

<p>The construct below for casting is not the recommended way to go, virtually all documentation prefers the as-operator with a null-check.</p>

<pre><code>if(obj is SomeClass)
{
  SomeClass some = (SomeClass)obj;
  ....
}
</code></pre>

<p>And sure this is a (very small) performance increase and some even mention the tread safety.
And yes this is true...</p>

<p>So, why do we have the is-operator?<br>
Where does the "as-operator with a null-check" not work or is not the way to go?<br>
Does is have an advantage to restrict the scope of you declaration you get by using the is-operator?  </p>
