title: Type Checking: typeof, GetType, or is?
body: <p>I've seen many people use the following code:</p>
  
  <pre><code>Type t = typeof(obj1);
  if (t == typeof(int))
      // Some code here
  </code></pre>
  
  <p>But I know you could also do this:</p>
  
  <pre><code>if (obj1.GetType() == typeof(int))
      // Some code here
  </code></pre>
  
  <p>Or this:</p>
  
  <pre><code>if (obj1 is int)
      // Some code here
  </code></pre>
  
  <p>Personally, I feel the last one is the cleanest, but is there something I'm missing? Which one is the best to use, or is it personal preference?</p>