.net column
.NET開発者のためのブログメディア

C#のif文、論理演算子(and/or/not)とは?論理演算子(and/or/not)を記述する方法

 
C#のif文、論理演算子(and/or/not)とは?論理演算子(and/or/not)を記述する方法

SE
論理演算子には記述順位が存在するのでしょうか?

PM
まずは論理演算子と実際の記述方法を見ながら理解を深めていきましょう。

C#のif文、論理演算子(and/or/not)とは?


今回は、C#のif文論理演算子(and/or/not)について紹介します。

プログラムを作成する時、「~の場合、~しなさい。ただし~の場合 かつ ~の場合、~しなさい。」というように、条件に応じて処理を分岐したい場面は多いでしょう。C#ではif文が「~の場合、~しなさい。」の役割を、論理演算子(and/or/not)が「かつ」、「または」、「否定」の役割を果たします。

シンプルな構文ですが、if文と論理演算子(and/or/not)をマスターすることで分岐処理を自在に記述でき、作成できるプログラムの幅が広がるため、この記事を読んでマスターしてみましょう。

if文を記述する方法

「~の場合、~しなさい。」の役割を果たすif文の記述について説明します。

C#では次のようにif文を記述します。

条件式には、結果がtrueまたはfalseになる式を記述します。処理内容には、if条件でtrueになった時に処理したい内容を記述します。

変数が偶数の場合に値をコンソール表示する、if文を使ったサンプルプログラムです。

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

2は偶数です

条件式に当たる偶数、奇数の判定は、2で割った余りが0になるか否かで行いました。変数のうち2は偶数のため、条件式にてtrueと判定され、値がコンソール表示されています。一方で、7は奇数のため条件式にてfalseと判定され、コンソール表示がされていません。

偶数をコンソール表示するサンプルプログラムですが、変数が奇数の場合に、奇数であることを表示させたい時を考えてみます。

上記の記述でも実現できますが、いかんせん無駄が多くなってしまいます。

そこでelseを使いましょう。「~の場合、~しなさい。それ以外の場合、~しなさい。」と記述する場合は、if~elseを使うことができます。

また、else ifを使用することで、「~の場合、~しなさい。それ以外~の場合、~しなさい。」のように、複数の分岐を記述することができます。

偶数と奇数のコンソール表示プログラムを、if~else、if~else ifを使って表現してみます。

if~else、if~else ifを適切に使うことでソースの可読性が上がるため、分岐処理を記述する場合はif~else、if~else ifを使ってみましょう。

論理演算子(and/or/not)の書き方

C#のif文について説明しました。「~の場合、~しなさい。それ以外の場合、~しなさい。」をC#で実現したい場合、if~else、if~else ifで実現できます。

しかし、「~かつ~の場合、~しなさい。~または~の場合、~しなさい。~以外の場合、~しなさい」と表現したい場合もあるでしょう。

冒頭でも紹介しましたが、「かつ」、「または」、「否定(~以外の場合)」を実現したい時に、論理演算子を使います。

C#では次のように論理演算子を記述します。

「かつ(and)」を実現したい場合は「&&」を、「または(or)」を実現したい場合は「||」を、「否定(not)」を実現したい場合は条件式の前方に「!」を付けます。

次のサンプルプログラムは、二つの変数について偶数、奇数の判断をコンソール表示させるプログラムですが、論理演算子を使ってみました。

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

2と3のいずれかは偶数です

ともに偶数という判定に「&&」を、いずれか偶数という判定に「||」を使用しました。また、変数1と変数2がともに奇数である判定に、否定演算子「!」を使用しました。「ともに奇数」は「いずれか偶数」の否定であるためです。もちろん「偶数以外 かつ 偶数以外」でも実現できます。

bool型について、否定演算子を使用することで、

すっきりとコーディングできますので、要所で否定演算子を使えるようにしましょう。

if文と論理演算子を組み合わせる

ここまでC#のif文と論理演算子について紹介しましたが、if文と論理演算子を組み合わせることで、プログラムの処理分岐を自在に実現することができます。

以下、二つの変数が奇数と偶数であるかのコンソール表示プログラムを、if文と論理演算子を駆使して記述してみました。

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

2と3のどちらかは偶数です

分岐が増えると処理が複雑になるため、サンプルのように適宜コメントを記述し、誰が見ても処理が理解できるように心がけましょう。

SE
if分と組み合わせることでよりわかりやすい記述ができるということですね。

PM
優先するべき順位をif分を使って、誰もがわかりやすく記述することができます。

C#でif文、論理演算子(and/or/not)を使って分岐処理を実現しよう!


いかがだったでしょうか。

C#ではif文と論理演算子(and/or/not)を使って分岐処理を実現できます。使う頻度の高い構文になりますので、ぜひマスターし、思い通りのプログラムを作成してみましょう。


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

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

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

Search

Popular

reccomended

Categories

Tags