title: Is it possible for 'this' keyword to equal null?
body: <p>In an example, my professor has implemented Equals as follows:</p>
  
  <pre><code>public class Person {
      private string dni;
  
      // ...
  
      public override bool Equals(object o) {
          if (o == null)
              return (this == null);
          else {
              return ((o is Person) &amp;&amp; (this.dni == (o as Person).dni));
          }
      }
  }
  </code></pre>
  
  <p>I have no experience with C#, but as far as I know <code>this</code> cannot be null inside a member function (at least this is true in C++ and Java, the languages I know) so the if seems weird to me.</p>
  
  <p>Am I right or is there any component in c# I dont know of which makes the test <code>this == null</code> necesary?</p>