7では、switchステートメントのcase句に、値だけでなく、パターンを書けるようになりました。パターンの書き方は、前節のis演算子と同様です。型による条件に加えて、when句というものを付けて追加の条件式を書くこともできます。break;}例えば以下のような書き方ができます。6までの、値による分岐しかなかったswitchステートメントとはちょっと違う部分があります。以下の点に気を付けてください。テーブル化の説明のために、以下のようなswitchを考えましょう。"other";}こういうswitchであれば、以下のように、辞書を引いて結果を得ることもできるはずです。case数が増えれば増えるほど、辞書化した方が有利になります。switchステートメント(というか、.NETの中間言語のswitch命令)では、caseの数が多い場合にこういう辞書を使った最適化を行うようになっています。正確にいうと、辞書の値は条件分岐によるジャンプ先が入っていて、goto的な命令との組み合わせで実現されます。テーブル化」と呼ばれます。テーブル化ができなくなります。いうより、コンパイル結果的にはswitch命令が使えず、if-elseを繰り返すようなコードにコンパイルされます。上から順に逐次判定になるので、case数があまりにも多いと実行性能的にあまりよくないので注意してください。上の方のcaseにあるほど判定が速いことになります。以下のように、一番上のcaseと一番下のcaseでは、かなりパフォーマンスに差が出ます。(なので、パフォーマンスが気になるなら、発生頻度が高いものほど上の方に書く必要があります。}}ちなみに、この例でも書いてありますが、逐次判定になっていたとしてもdefault句にたどり着くのは必ず一番最後です。まで気兼ねなくご連絡ください。ついて運営者について。