FC2ブログ
    01 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.» 03

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【ハルシオンブログ】out修飾子のあるメソッドを作る 

    こんにちは。
    大坂です。
    今日から6月ですね。今年ももう半年終わりそうです…。

    ポケットガール~受け継がれし希望~よろしくお願いします。
    URL(Android):https://play.google.com/store/apps/details?id=com.halcyon.pocketgirl3
    URL(iOS):https://itunes.apple.com/jp/app/id1539553611

    PV:


    DictionaryのTryGetValueみたいなことを自分でしたいときのお話。

    DictionaryのTryGetValue。

    Dictionary testDic = new Dictionary() { { 1, "test_1" }, { 2, "test_2" }};
    if(testDic.TryGetValue(1, out var test))
    {
    Debug.Log(test);
    }


    keyに含まれていたらboolを返却してくれて、outで対応したvalueを受け取れるメソッド。

    こんなことを自分で作ったメソッドでもやりたいときは、メソッドにout修飾子を追加してあげればできます。

    out修飾子のメソッドを作ってみる。

    private bool TryCheckTest(int index, out string test)
    {
    test = null;
    if(index >= 1 && index < 10)
    {
    test = "テスト";
    return true;
    }
    else
    {
    return false;
    }
    }

    メソッドの中でout修飾子の変数に値を入れてあげれば呼び出し側で受け取れます。

    呼び出し側

    if(TryCheckTest(1, out string test_1))
    {
    Debug.Log("引数:1:" + test_1);
    }

    if (TryCheckTest(10, out string test_2))
    {
    Debug.Log("引数:10:" + test_2);
    }



    引数が「1」の時だけちゃんとifの中に入ってログが流れますね。

    簡単な構成ならDictionaryとか使ってできますが、複雑な条件でで判定したい場合はこの方法で使うと比較的わかりやすくかけるので便利ですね!

    ではではノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/983-207574a9
    この記事にトラックバックする(FC2ブログユーザー)