title: overloading operator== and comparison to null
body: <p>I've got a class that overloads the <code>operator==</code> to compare two objects, however when I check an object of that type against <code>null</code>, then I get a null-reference exception on the first parameter.  I wondered how I should guard against such a case, or is there another way to implement this <code>operator==</code></p>
  
  <pre><code>Card c;
  
  if (c == null) { // do something }  //null check throws exception cause c1 in operator has is a null object...
  
   public static bool operator ==(Card c1, Card c2)
          {
              if (ReferenceEquals(c1, null) )
                  return false; // this does not make sense either I guess??
              return c1.Equals(c2);
          }
  </code></pre>