Страница 1 из 1

Лучший способ проверки на null

СообщениеДобавлено: 20 сен 2017, 11:40
Makkarob
Подскажите, пожалуйста, какой способ лучше с точки зрения оптимизации:

Синтаксис:
Используется csharp
public GameObject SomeGameObject;
if (!SomeGameObject) {
}
 

Синтаксис:
Используется csharp
public GameObject SomeGameObject;
if (SomeGameObject == null) {
}
 

Или, возможно, есть способ еще лучше?

Re: Лучший способ проверки на null

СообщениеДобавлено: 20 сен 2017, 11:52
Andrey328
Написал скрипт, который 1 миллион раз выполняет первый тип сравнения, и столько же раз - 2-й. Результаты можете видеть сами
Изображение

Re: Лучший способ проверки на null

СообщениеДобавлено: 20 сен 2017, 19:22
lawsonilka
проверка if (object) происходит преобразование в bool через Implicit оператор с помощью Equals, а сравнение на прямую происходит через оператор == который также вызывает Equals.
В любом случае вам это ну ни как не навредит.

Re: Лучший способ проверки на null

СообщениеДобавлено: 20 сен 2017, 19:35
snezhok_13
Кое какая магия происходит в перегруженном операторе (popcorn)

Re: Лучший способ проверки на null

СообщениеДобавлено: 20 сен 2017, 21:04
Makkarob
snezhok_13 писал(а):Кое какая магия происходит в перегруженном операторе (popcorn)

Надо же, какая дичь происходит. Но неужели все так и осталось, ведь новость от "Май 16, 2014". Прошло 3 года. И что, до сих пор лучший способ проверки это:
Синтаксис:
Используется csharp
if(!gameObject){
// если объект null
}
if(gameObject){
// если объект не null
}
 

Re: Лучший способ проверки на null

СообщениеДобавлено: 21 сен 2017, 05:13
Dewa1s
Makkarob писал(а):
snezhok_13 писал(а):Кое какая магия происходит в перегруженном операторе (popcorn)

Надо же, какая дичь происходит. Но неужели все так и осталось, ведь новость от "Май 16, 2014". Прошло 3 года. И что, до сих пор лучший способ проверки это:
Синтаксис:
Используется csharp
if(!gameObject){
// если объект null
}
if(gameObject){
// если объект не null
}
 

ужас ужас, как дальше жить? #-o Это же самое узкое и важное место в игре, которое требует срочной оптимизации!