Информация об изменениях

Сообщение Re: is null , is {} от 26.06.2020 10:47

Изменено 26.06.2020 10:51 alexzzzz

Re: is null , is {}
Здравствуйте, _NN_, Вы писали:

_NN>Кто использует в коде is null вместо == null ?

_NN>Я предложил в коде писать правильно через is, но встретил недопонимание со стороны коллег.
_NN>Расскажите про ваш опыт написание семантически правильного кода

Я пишу is null, когда имею в виду ReferenceEquals(obj, null) — так просто короче. Оно периодически требуется, потому что в API движка Unity оператор == переопределён для всех наследников базового UnityEngine.Object, и == null может выдавать true даже на существующих объектах. Плюс, этот переопределённый оператор работает на порядки медленнее, чем ReferenceEquals.
Re: is null , is {}
Здравствуйте, _NN_, Вы писали:

_NN>Кто использует в коде is null вместо == null ?

_NN>Я предложил в коде писать правильно через is, но встретил недопонимание со стороны коллег.
_NN>Расскажите про ваш опыт написание семантически правильного кода

Я пишу is null, когда имею в виду ReferenceEquals(obj, null) — так просто короче. Оно периодически требуется, потому что в API движка Unity оператор == переопределён для всех наследников базового UnityEngine.Object, и == null может выдавать true даже на существующих объектах. Плюс, даже если в каком-то конкретном случае возможная разница в поведении роли не играет, этот переопределённый оператор работает на порядки медленнее, чем ReferenceEquals.