Причина, по которой вы не понимаете, состоит в том, что вы смешиваете две вещи, которые не совпадают.Тем не менее, когда мы используем письменный язык и описываем эти две вещи, они кажутся одинаковыми на бумаге / на экране ... по крайней мере, вам.
Сначала вы должны понять разницу между описанием / label и означает .
Если я напишу NULL ... то, что вы видите визуально, является описанием.Что это описывает / представляет / означает?NULL ничего не значит.Тем не менее, когда вы пишете код, вы не пишете переменная = ничего.Вы пишете переменную = NULL.Метка - означает NULL - ничего
Когда вы пишете temp = @ «null» ... вы утверждаете, что переменная temp имеет значение строки из 4 символов, и именно эти четыре –null Label - означают @ «null«- строка из 4 символов (ноль)
Затем вы сравниваете значения / значения. , а не описания.Очевидно .. ничто не равно строке с 4 символами.