読者です 読者をやめる 読者になる 読者になる

196の日記

完全に開発メモと雑談、その他忘れそうな計算式などを書き溜める場所になっています!

unity(C#)日記~int型の初期値、シングルトンなクラス、

unity

今日の発見&調べたこと

int型の初期値

int a=new int();

これでint型のaという変数は初期化されましたが、値が代入されていません。僕はここはnullだと思っていたのですが、実は0が入っていました。で、これについて調べたらガッツリとここに書いてありました笑 なので、"if( a == null ) なんて間違ってもしてはいけません!(してました。)


シングルトンなクラス

参考にさせて頂いたサイト

シングルトンなクラスとは、絶対にそのクラスが一つであるということを保証するクラスのことだそうで、違う2つの場所から生成しても、どちらでも共通のものが参照されます。

作成例

using UnityEngine;

public class HogeSingleton {
    private static HogeSingleton hInstance;
    public static HogeSingleton Instance {
        get {
            if( hInstance == null ) hInstance = new HogeSingleton();
            return hInstance;
        }
    }

    public int status = 10;
    public void setStatus ( int num ) {
        status = num;
    }
}

後は以下のようにすれば、いつものように使うことができます。多分

HogeSingleton hoge = HogeSingleton.Instance;
hoge.setStatus(20);