facebook twitter hatena line email

Unity/Csharp/Exception/NullReferenceException

提供: 初心者エンジニアの簡易メモ
2023年10月17日 (火) 15:49時点におけるAdmin (トーク | 投稿記録)による版 (対応方法2)

移動: 案内検索

NullReferenceException発生

以下SerializeFieldのtextに、オブジェクトを入れなかった場合、NullReferenceExceptionが発生する。

using UnityEngine;
using UnityEngine.UI;

public class NullReferenceExceptionScene : MonoBehaviour
{
    [SerializeField] Text text;
    void Start()
    {
        text.text = "hoge";
    }
}

対応方法1

null判定する

if (text != null)
{
    text.text = "hoge";
}

対応方法2

ReferenceEqualsを使う

if (!ReferenceEquals(text, null))
{
    text.text = "hoge";
}

参考:https://bluebirdofoz.hatenablog.com/entry/2022/09/18/234745

対応方法3

is not nullを使う

if (text is not null)
{
    text.text = "hoge";
}