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).