1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

C#の基本イディオムについてその2~条件文・判定編~

Posted at

C#で条件分岐や判定をしたい場合の基本的なイディオムについてまとめた。

変数の値を比較するだけの場合

(例)valという数値型の変数が5以上かどうかを判定したい時、

if(val >= 5)

変数を左にして書く。

if(5 <= val)

でも間違いではないが、基本的に文字は右から左に読むので、読みづらい。

変数の値が特定の範囲内にあるかどうかを判定する場合

(例)valという数値型の変数が5より大きく、10未満かどうかを判定したい時、

if(5 < val && val < 10)

判定したい値が指定した数値の中にあるかどうかが分かるように書く。
数学の5<x<10をイメージするといい。

複数の条件があり、その全ての条件を満たすときだけ処理をしたいとき

(例)nameがジョルノ・ジョバーナ、partが5、ageが15のときのみ何か処理をしたい時、

if(name != "ジョルノ・ジョバーナ") return;
if(part != 5) return;
if(age != 15) return;
(実行したい処理を書く)

1つのifで1つの条件を判定するようにする。
「return;」とだけ書くと、実行をその場でやめる。

if(name != "ジョルノ・ジョバーナ" && part != 5 && age != 15) return;

まとめて書くと条件が多ければ多いほど見にくくなってしまうので、分けて書く場合がベター。

ただbool値を返したい

(例)nameがジョルノ・ジョバーナかどうかだけを判定したい場合、

return name == "ジョルノ・ジョバーナ";

returnの後に条件分を書けばいいだけ。
「==」や「!=」は比較演算子なので、変数や値を比較演算子つなげて書くと、trueかfalseのbool値を返すので、

if(name == "ジョルノ・ジョバーナ") {
  return true;
} else {
  return false;
}

のように書くと冗長的な書き方になってしまうので、特にこだわりがなければ、上記の書き方はしない。
「name == "ジョルノ・ジョバーナ";」がtrueかfalseを返すことが分かっているので、余計に書く必要はない。

参考文献

1
0
2

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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?