「Unity/Csharp/Exception/NullReferenceException」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→対応方法1) |
(→対応方法2) |
||
行28: | 行28: | ||
<pre> | <pre> | ||
if (!ReferenceEquals(text, null)) | if (!ReferenceEquals(text, null)) | ||
+ | { | ||
+ | text.text = "hoge"; | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | ===対応方法3=== | ||
+ | is not nullを使う | ||
+ | <pre> | ||
+ | if (text is not null) | ||
{ | { | ||
text.text = "hoge"; | text.text = "hoge"; | ||
} | } | ||
</pre> | </pre> |
2023年10月17日 (火) 15:48時点における版
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"; }
対応方法3
is not nullを使う
if (text is not null) { text.text = "hoge"; }