プログラミング言語C#のif~else(if文)についてWeb開発経験のある筆者が初心者向けに丁寧に解説します。
if~elseはプログラミングでは非常によく使うので必ず理解しておきましょう!
本記事を読めば、C#のif~elseの書き方と論理演算子(or/and/not)が理解できるでしょう。
論理演算子(or/and/not)は非常に重要なので、必ず理解しておきましょう!
ぜひ最後まで読んで、C# if~elseの基礎をマスターしてください!
INDEX
C# if〜elseの書き方
if〜else文の書き方について紹介していきます。
条件式の結果に基づきプログラムの流れを変更することができます。
「もし〜であるなら〜しなさい、それ以外であれば〜しなさい」といった内容をプログラムで実行します。
【if〜else文の書き方】
1 2 3 4 5 |
if(条件式){ 文A // 条件式が真の場合に実行する。 }else{ 文B // 条件式が偽の場合に実行する。 } |
条件式部分には,trueまたはfalseとなる式を入れます。
if : もし条件式が正しい(True)とき文Aを実行しなさい
else : それ以外(条件式が正しくない(False))であれば文Bを実行しなさい。
※else文はオプションです。
更に条件を加えたい時は下記のように書くことができます。
1 2 3 4 5 6 7 |
if(条件式A){ 文A // 条件式Aが真の場合に実行する。 }else if(条件式B) { 文B // 条件式Aが偽のときで、もし条件式Bが真の場合に実行する。 }else{ 文C // 条件式がすべて偽の場合に実行する。 } |
ただし、条件が複雑になると管理が大変になってしまいます。
その場合は、Switch文を使うことも検討してみましょう。C#のSwitch文では制御値として数字(int)、文字列(string)が対応しているため便利です。
※C#のSwitch文を学習したい人はSwitch文について解説した記事をご覧ください。
\文字より動画で学びたいあなたへ/
Udemyで講座を探す >C# if〜elseの例
実際にサンプルコードを見てみましょう。下記に簡単なプログラムを用意しました。
もし、(サイコロの)数字が6の時「あたり」を出力し、それ以外の場合は「はずれ」を出力する。
1 2 3 4 5 6 7 |
//サンプルコード1 int number = 1; if(number==6){ Console.Write("おめでとうございます。あたりです。"); //numberが7の時「あたり」を表示する。 }else{ Console.Write("はずれです。"); //それ以外の条件のとき 「はずれ」を表示する。 } |
C# if〜elseにおける論理演算子or(||)について
先程のif文に条件式として論理演算子を用いると複数の条件を記載することができます。
具体的には、論理演算子or(||)を使うことで「または」を条件に加えることができます。
「もし、〜または〜の場合は〜しなさい。それ以外の場合は〜しなさい。」をプログラムで実現できますよ。
今回のサンプルコード2では、もし、引いた数字が7の時またはスペシャルゲストの時「あたり」を出力する。
それ以外であれば「はずれ」を出力します。
1 2 3 4 5 6 7 8 |
//サンプルコード2 int num = 1; //判定に使う数字 bool special_guest = true; //スペシャルゲストかどうかを判断するフラグ if (num == 7 ||special_guest ==true){ Console.Write("おめでとうございます。あたりです。"); //$numが7の時またはspecial_guestがtrueの時「あたり」を表示する。 }else{ Console.Write("はずれです。"); //ifの条件に当てはまらない時に「はずれ」を表示する。 } |
ifのカッコの中に、論理演算子or(||)を使って2つの条件が加えられました。更に論理演算子or(||)を付け足して複雑な条件をつけることも可能です。
C# if〜elseにおける論理演算子and(&&)について
3項では、論理演算子orの「または」を実現する方法を説明しました。
続いて、論理演算and(&&)では条件に「かつ」を追加することができます。「もし、〜かつ〜なら〜しなさい。それ以外であれば〜しなさい」を実現することができます。
次のサンプルコード3では、女性限定のキャンペーンという設定で、女性がサイコロを振って6を出したら「あたり」それ以外であれば「はずれ」を出すサンプルです。
1 2 3 4 5 6 7 8 |
//サンプルコード3 int num = 1; string s = "女性"; if(num==6&&s=="女性"){ Console.Write("おめでとうございます。あたりです。");//numが6かつsが「女性」の時「あたり」を表示する。 }else{ Console.Write("はずれです。");//ifの条件に当てはまらない時に「はずれ」を表示する。 } |
C# if〜elseにおける論理演算子not(!)について
論理演算子のnot(!)について説明します。論理演算子notは、bool型の否定した結果を返します。
実際にbool型のtrueとfalseに論理演算子notをつけて確認してみましょう。
1 2 |
Console.WriteLine(!true); // Falseと出力される Console.WriteLine(!false); // Trueと出力される |
この様に、論理演算子notを付ける事でbool型のtrue,falseが反転して出力されます。
それでは論理演算子notを使ったサンプルコードを見てみましょう。
次に示すサンプルコード4は もし、XXXメンバー会員ではない場合は、「XXXメンバー会員になりませんか?」と出力する。それ以外であれば、XXXメンバー会員ステータスを表示します。
1 2 3 4 5 6 7 |
//サンプルコード4 bool member = true ; // XXXメンバー会員の場合はtrueを入れる。 if (!member){ Console.Write("XXXメンバー会員になりませんか?");//もしXXXメンバー会員ではないときに出力する }else{ Console.Write("現在のXXXメンバー会員ステータス : ゴールドメンバー会員"); } |
論理演算子notを使わない場合は、「member==false」と書きますが、論理演算子をつかうことで「!member」とすっきりと書くことができました。
bool型のフラグを処理する場合は、よく使うことになりますので、覚えておきましょう。
C#の必須構文をまとめてマスターしよう!
プログラミング言語C#のif~elseが理解できましたか?繰り返しになりますが、if~elseはよく使う構文の1つなので、ぜひ理解しておきましょう。
C#は文法の汎用性が非常に高いため、網羅的に理解しておくことでアプリ開発はもちろん、JavaやRubyなど他の言語を学ぶ上でも非常に役立つに違いありません。
C#言語について網羅的に学びたい方には、下記の講座がおすすめです。
一週間で身につくC#言語
Unity・ASP.ENT・Windowsアプリ開発のために必要な基礎プログラミングスキルを身に着けるコース
\無料でプレビューをチェック!/
講座を見てみるレビューの一部をご紹介
評価:★★★★★
コメント: C#を実務で使うため受講しました。基礎を学ぶのにはとても良い講座だと思います。
評価:★★★★★
コメント: 自分のようなC#初学者にとっても分かり易く、良いコースであると思う。これまで見様見真似でコードを改変していたが、これまでよくわからなかった「getとsetとは?絶対必要なの?」「int a = new A();の書き方の意味がよく分からない」「クラス内変数の取り扱い」といった初心者にありがちな疑問が順序だって説明されていたので、すんなり頭に入ってきた。
C#をマスターして、自分の思い通りの開発ができるようになりましょう!
最新情報・キャンペーン情報発信中