Недавно в предыдущем проекте я встретил своеобразное различие между VB.NET и С#.
Рассмотрим следующее выражение С#, которое:
null <= 2
Это выражение оценивается как False, что я и ожидал. Затем соответствующее выражение VB.NET:
Nothing <= 2
Я с удивлением узнал, что это выражение фактически оценивает True
Похоже, это довольно фундаментальное дизайнерское решение между двумя языками, и это, безусловно, меня охватило.
Кто-нибудь может сказать мне, почему? Нуль и ничто одно и то же? Если да, то почему они ведут себя по-другому?