LoginSignup
0
1

More than 5 years have passed since last update.

プログラム超初心者メモ Switch文

Last updated at Posted at 2017-11-24

Switch文とif文の比較
Unity Mac VScode 利用でのテスト

以下テストコード丸ごと

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class _Switch : MonoBehaviour {
    public int State=0;
    public enum MyState{Wait,Run,Sleep};
    private MyState e_MyState;

    // Use this for initialization
    void Start () {
        //本来はUpdateに書いた方が良さそうな内容だが、プリントがやたら出るのでStartにてテスト
        //------------------------------
        //スイッチ文のサンプル
        //条件には、string型,float型などは使えない。
        //intとenumが使える。
        //int を直接数値で使う場合は状態のイメージがわかないので、
        //書いてみると、レベルやhpなど数値で分かるものを利用すべきだと思った。
        switch (State)
        {
        case 1:
            print (State);
             //breakは無いと VSCode上でエラーが出る。役目はスイッチ文からの脱出
             //原語や環境によっては、break必須ではなさそう。
            break;
            //breakの下に命令を書いても意味がないし、これもVSCode上でエラーが出る。
        case 2:
            print (State);
            break;
        case 3:
            print (State);
            break;
        //default は書かなくても動く elseと同じ役割
        default:          
            print (State);
            break;
        }
        //------------------------------
        //上のスイッチ文と同じ結果になるif文
        if(State==0){print (State);}
        else if(State==1){print (State);}
        else if(State==3){print (State);}
        else{print (State);}
        //必ずしもif文が長くなる訳では無いことが・・・・分かるなぁ・・・
        //特に複雑な条件で分岐させるには if文が強そう。
        //------------------------------
        //なるほど enum と相性が良さそう!
        //状態を分けるのはif文を利用して、その後の処理はSwitch文を利用するのが良さそう。
        switch (e_MyState)
        {
        case MyState.Wait:
            print (e_MyState);  
            break;
        case MyState.Run:
            print (e_MyState);
            break;
        case MyState.Sleep:
            print (e_MyState);
            break;
        default:          
            print (e_MyState);
            break;
        }
    }
}
0
1
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1