セキュリティ系の勉強・その他開発メモとか雑談. Twitter, ブログカテゴリ一覧
本ブログはあくまでセキュリティに関する情報共有の一環として作成したものであり,公開されているシステム等に許可なく実行するなど、違法な行為を助長するものではありません.

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

//

今日の発見&調べたこと

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);