title: Why is the result of adding two null strings not null?
body: <p>I was fiddling around in C# when I came across this weird behavior in .Net programming.</p>
  
  <p>I have written this code: </p>
  
  <pre><code>  static void Main(string[] args)
      {
          string xyz = null;
          xyz += xyz;
          TestNullFunc(xyz);
          Console.WriteLine(xyz);
  
          Console.Read();
  
      }
  
      static void TestNullFunc(string abc)
      {
          if (abc == null)
          {
              Console.WriteLine("meow THERE ! ");
          }
          else
          {
              Console.WriteLine("No Meow ");
          }
      }
  </code></pre>
  
  <p>I got the output as <code>No meow</code>, which means the string is not <code>null</code>.  How is this possible?  Why does adding two <code>null</code> strings, result in a non-<code>null</code> string? </p>
  
  <p>On debugging when I check the value of <code>xyz</code> after adding it to itself, its value is <code>""</code> (no characters).</p>