C#

【C#】条件分岐について【if】【switch】【?:】

プログラムは様々な動きをしています。

これはプログラムの中で様々な条件が設定されているためです。

C#ではどのような条件分岐を使うことができるのでしょうか。

ブレインキャット

今回はC#で使うことのできる条件分岐をいくつか見ていきましょー!

条件演算子

ブレインキャット

さっそく分岐条件をみていきたいとこですが、まずは条件をつくるために使う関係演算子を確認しておきましょう。

関係演算子関係演算子詳細
A == BAとBが同じ場合
A != BAとBが違う場合
A > BAがBより大きい場合
A >= BAがB以上の場合
A < BAがBより小さい場合
A <= BAがB以下の場合

「A == B」については、「A = B」ではないので注意しましょう。「=」を2つ使って関係演算子をつくります。

if文

ブレインキャット

条件分岐の基本となるのかこのif文。

これが使えなければ何も書けません。

ブレインキャット

if文の中にさらにif文を書くこともできます。例で見てみましょう。

ブレインキャット

日曜日か土曜日で、仕事があれば仕事をする。

なければ休む。

それ以外の日は仕事をする。

といったif文ですね。

switch文

式には、「整数型」、「char型」、「string型」、「enum(列挙型)」を指定できます。

ブレインキャット

「break」は必須なので、忘れずつけるようにしましょう。

ブレインキャット

「default」については、必須ではないのでなくても大丈夫です。でも付けておいたほうが曖昧にならないので良いと思います。

フォロースルーの禁止

C、C++のような言語では「break」が必須でなく、その結果複数のcase句が実行できるようになっています。これを「フォロースルー」と言います。

C、C++でも殆どの場合「break」のつけ忘れ、うっかりでフォロースルーが発生している場合が多いためC#では「break」必須となったようです。

フォロースルーが許される場合もある

case句が連続する場合は「break」を付けないフォロースルーが可能です。

ブレインキャット

結果は「仕事です」となります。

?:演算子

ブレインキャット

C#には「?:」という条件演算子があります。

僕はこれが結構好きです。

「if…else」よりコードが短く書けるので、読みやすさ向上という観点で使えると思います!

ブレインキャット

使いどころはたくさんありますが、nullチェックなんかで使っている人をよく見かけます。

こんな感じで使ったりできます!

ブレインキャット

なんと1行で書けました!

まとめ

条件分岐を書く方法は様々用意されています。

プロジェクトのルールや状況に応じて適切と思われる演算子を使っていきましょう。

ABOUT ME
ブレインキャット
本ブログのサブ管理人 関西でIT企業で働いているIT社畜 ラーメンと野球が好き