ルルのゲーム開発備忘録

主にUnityやC#に関する情報を気まぐれに投稿していきま~す

【C#】パターンマッチング「switch case 型名 変数名 when 条件」

はじめに

今回は「switch文のパターンマッチング + when句」について紹介です。
パターンマッチングについては前回の記事を参考にどうぞ。
rurugamedev-blog.com

switch文のパターンマッチング

C#7.0以降ではswitch文のパターンマッチングが使えます。
またwhen句を使うことでより細かい条件判定が可能です。

switch (vehicle) {
    // Car型の場合
    case Car car:
        car.move();
        break;
    // Train型でかつLengthが100より大きい場合
    case Train train when train.Length > 100:
        train.move();
        break;
}