Неравный оператор синтаксического сахара на обнуляемый класс? - PullRequest
1 голос
/ 12 ноября 2019

Я проверял документацию Unity API и наткнулся на этот пример блока кода:

using UnityEngine;

public class Example : MonoBehaviour
{
    public GameObject target;

    void Reset()
    {
        //Output the message to the Console
        Debug.Log("Reset");
        if (!target)
            target = GameObject.FindWithTag("Player");
    }
}

Что именно означает «(! Target)»?

Я думал, что это сладкоспособ записи (target! = null), но не совсем уверен, потому что я понимал, что это всегда будет ложным, потому что null! = false ... Чего мне не хватает?

https://docs.unity3d.com/ScriptReference/MonoBehaviour.Reset.html

1 Ответ

0 голосов
/ 12 ноября 2019

! Target будет истинным, когда target равен нулю

, если мы изменили Target на слова HAS-OBJECT, тогда код говорит:

if(NOT HAS-OBJECT)
{ 
 SET TO AN OBJECT
}

Итак, в опубликованном вами коде! target - условно true , когда target равен null

...