Я играл в С#, когда сталкивался с этим странным поведением в программировании .Net.
Я написал этот код:
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 ");
}
}
Я получил результат как No meow
, что означает, что строка не null
. Как это возможно? Почему добавление двух строк null
приводит к строке не null
?
При отладке, когда я проверяю значение xyz
после добавления его к себе, его значение равно ""
(без символов).