null

参考:

Unity の null は null じゃないかもしれない – Qiita

UnityEngine.Object の null チェックで ? 演算子とか ?? 演算子は使わないほうがよさそうだ | LIGHT11

破棄した GameObject の null に関して – teratail

null を判定する

if (obj == null) { Debug.Log("obj is null"); } if (obj != null) { Debug.Log("obj is not null") }
Code language: C# (cs)

参考:

参照の null チェックは忘れずにやっておこう! | エクスプラボ

null なのに null 判定に引っかからなくて躓いた | エンジニアの階段

GameObject 型のインスタンスの null チェックを省略可能な拡張メソッド | コガネブログ

Unity で GameObject が null の時に条件分岐したいです – teratail

Custom == Operator, Should We Keep It? | Unity Blog [Official]

ヌル合体演算子/ヌル条件演算子

Unity のゲームオブジェクトで使われる null は C# のnull ではないため、ゲームオブジェクトに対してヌル合体演算子、及びヌル条件演算子は使用できない。

null であった場合に C# の null に変換する、キャスト用メソッドを定義する。

public static T NullCast<T>(this T obj) where T : UnityEngine.Object     => (obj != null) ? obj : (System.Object)null;
Code language: C# (cs)

キャスト用メソッドを用いて、ヌル合体演算子を使用する。

GetComponent<Rigidbody>().NullCast()?.AddForce(force, mode);
Code language: C# (cs)

参考:

GetCompornent でヌル条件演算子が使えない – Qiita

ヌル合体演算子とヌル条件演算子についてかるくまとめてみた | はなちるのマイノート

GameObject が削除されて null になったかどうかはヌル合体演算子では確認できない | コガネブログ

ヌル条件演算子 – Qiita

Unity の偽装 null の話 | Nobollel 開発者ブログ

RectTransform をなるはやで取得したい – Qiita

文字列を判定する

文字列がヌルまたは空であるかを判定するには、String.IsNullOrEmpty メソッドを用いる。

参考:

文字列が null または空文字列かどうかをスマートに判定する | はなちるのマイノート

文字列が null か空文字列かを簡単に判定するには? | @IT

String.IsNullOrEmpty メソッド | Microsoft Learn [公式]

ヌル参照例外 (Null Reference Exception)

参考:

Null Reference Exception | Unity マニュアル [公式]

Destroy() doesn’t create NullReferenceExeption? – Unity Forum

NullReferenceException from UnityEditor.InspectorWindow.GetEditorsWithPreviews – Stack Overflow

ヌル許容値型 (System.Nullable)

コード:

EnableNullable.cs (kyubuns) – GitHub Gist

EnableNullable.cs – NoEngineReferences にチェックが入ってるやつだけ null 許容参照型を有効にするという妥協をしたバージョン (kyubuns) – GitHub Gist

参考:

null 許容参照型を有効化するスクリプト書いた (@kyubuns) | Twitter

null 許容値型 | Microsoft Learn [公式]

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。

Protected by reCAPTCHA