I was fiddling around in C# when I came across this weird behavior in .Net programming.
I have written this 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 ");
        }
    }
I got the output as No meow, which means the string is not null.  How is this possible?  Why does adding two null strings, result in a non-null string? 
On debugging when I check the value of xyz after adding it to itself, its value is "" (no characters).
 
     
     
     
     
     
     
     
    