.net column

.NET開発者のためのブログメディア
プログラムコード

C#でのswitch文の範囲指定の方法ついてご紹介!

2020年08月24日
SE
if文とswich文の範囲指定の違いついて教えてください。
PM
swich文での範囲指定は非常にシンプルでif文に近い範囲指定が可能です。

C#でのswitch文の範囲指定について

今回は、C#でのswitch文の範囲指定について説明します。

if文では以下のように範囲を指定できます。

switch文ではif文のように単純には範囲を指定できません。
switch文での範囲の指定方法について紹介します。

C#でのswitch文の範囲指定に興味のある方はぜひご覧ください。

caseを並べる

C#では、caseを並べることで、範囲指定と同じ挙動となります。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

このように、caseを並べれば範囲指定になります。
しかし、範囲が広い場合はcaseの数が増えるので、現実的ではありません。

switch句を式にする

C#では、switch句を式にすることで、範囲指定と同じ挙動となります。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

引数iを25で除算した結果でcaseを記述します。
しかし、範囲が等間隔でない場合は単純な式では実現できません。

switch句に関数を指定する

C#ではswitch句に関数を記述することもできます。
例えば、数字の桁数で分岐するケースを考えた場合、数字を文字列に変換して文字列数をカウントすることで、桁数を求められます。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

このように、C#ではswitch句に関数を記述することもできます。

caseのwhen句で条件を指定する

C#では、caseにwhen句で条件を指定できます。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

こちらの方がif文に近い使い方です。
このように、C#ではcaseにwhen句で条件を指定できます。

caseのwhenで条件を指定する(応用編)

先ほどのサンプルプログラムを応用すれば、クラスのインスタンスをswitchに渡して、when句で範囲を指定できます。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

このように、C#ではクラスのインスタンスをswitchに渡して、when句で範囲を指定できます。

SE
swich文では関数も使用することができるのですね。
PM
はい。またwhen句を利用することでよりif文に近い使い方も可能です。

まとめ

いかがでしたでしょうか。C#でのswitch文での範囲の指定方法について紹介しました。
when句を利用すれば、switch文でもif文に近い使い方ができます。

ぜひご自身でC#のソースコードを書いて、理解を深めていきましょう。

 


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)