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