C# bool型の使い方

この記事のポイント

C#のbool型は、条件に応じて処理を分けるときに使う基本的なデータ型です。

この記事を読むと、次のようなことが身に付きます。

  • trueとfalseの2つの値で条件を判断する方法がわかる
  • if文やwhile文と組み合わせた使い方が身に付く
  • 論理演算子と組み合わせて複雑な条件式を構築する方法がわかる

この記事を通して、bool型の正しい使い方をマスターすれば、より柔軟なプログラムが書けるようになります。

目次

bool型とは?

bool型は、「Boolean(ブーリアン)」の略で、物事が「正しい(true)」か「間違い(false)」のどちらかを示す真偽値を表現するためのデータ型です。

日常生活で「信号が青なら進む、赤なら止まる」と判断するように、プログラムの中でも条件によって動きを変えたい場面はたくさんあります。

bool型は、まさにそういった二択の状況を扱うときに活躍します。

bool型の特徴

  • 値はtrueとfalseの2種類だけを持つ
  • if文while文などで条件を判断するときに使う
  • 「オン/オフ」や「成功/失敗」のような状態のフラグ管理で役立つ
  • 他の言語と違い、0や1のような数値を代わりには使えない

プログラムの流れを細かく制御し、状況に応じた処理をさせるために欠かせない基本の型です。

【関連】
C#をもっと詳しく学ぶならpaizaラーニング

基本構文

C#でbool型を使用する基本的な構文を以下に示します。変数の宣言では「bool 変数名;」の形式を使用し、初期値としてtrueまたはfalseを代入できます。

using System; namespace SampleApp { public class SampleProgram { public static void Main(string[] args) { bool isHappy = true; bool isSleeping = false; Console.WriteLine($"ネコは幸せです: {isHappy}"); Console.WriteLine($"イヌは寝ています: {isSleeping}"); } } }

出力結果

ネコは幸せです: True
イヌは寝ています: False

この例では、isHappyにtrueを、isSleepingにfalseを代入しているため、変数の値を表示すると、それぞれTrueとFalseが出力されます。bool型の変数は状態を表すのに便利です。

比較演算子を使用することで、条件式の結果をbool型として取得することも可能です。この機能により、数値や文字列の比較結果を真偽値として扱えます。

using System; namespace SampleApp { public class SampleProgram { public static void Main(string[] args) { int dogAge = 5; int catAge = 3; bool isOlder = dogAge > catAge; Console.WriteLine($"イヌはネコより年上: {isOlder}"); } } }

出力結果

イヌはネコより年上: True

この例では、dogAge > catAgeという比較式の結果を変数isOlderに代入しています。dogAgeの5はcatAgeの3より大きいので、比較式はtrueと判断されます。そのため、isOlderにはtrueが入り、出力結果もTrueとなります。

実用例

C#のbool型を実際のプログラムで活用する方法を、サンプルコードを通して紹介します。

動物をテーマにした分かりやすい例で、bool型のさまざまな使い方を学びましょう。条件分岐やメソッドの戻り値など、実践的な使い方を理解すれば、プログラミングのスキルが一段と向上します。

基本的な真偽値の代入

bool型の変数にtrueやfalseを直接代入する、最もシンプルな使い方です。プログラムの状態を管理するときの基本となります。

using System; namespace SampleApp { public class SampleProgram { public static void Main(string[] args) { bool isRunning = true; bool isTired = false; Console.WriteLine($"ウサギは走っています: {isRunning}"); Console.WriteLine($"ウサギは疲れています: {isTired}"); } } }

出力結果

ウサギは走っています: True
ウサギは疲れています: False

この例では、isRunningにtrueを、isTiredにfalseを代入して、ウサギの状態を管理しています。trueは「走っている」状態、falseは「疲れていない」状態を表します。それぞれの変数の値を表示することで、現在の状態がわかります。

条件分岐での活用

bool型は、if文の条件判断で最もよく使われます。動物の状態に応じて処理を分けるプログラムを実現できます。

using System; namespace SampleApp { public class SampleProgram { public static void Main(string[] args) { bool isHungry = true; if (isHungry) { Console.WriteLine("クマは魚を探しに行きます"); } else { Console.WriteLine("クマは休んでいます"); } } } }

出力結果

クマは魚を探しに行きます

この例では、isHungryがtrueのため、if文の条件が満たされます。その結果、「クマは魚を探しに行きます」というメッセージが表示されます。もしisHungryがfalseだった場合は、elseの中の処理が実行され、「クマは休んでいます」と表示されます。

論理演算子の使用

複数のbool値を組み合わせて、より複雑な条件を作成できます。AND(&&)、OR(||)演算子を活用した例です。

using System; namespace SampleApp { public class SampleProgram { public static void Main(string[] args) { bool isSunny = true; bool isWarm = false; bool canFly = isSunny && isWarm; Console.WriteLine($"トリは飛べます: {canFly}"); bool stayInside = !isSunny || !isWarm; Console.WriteLine($"トリは巣にいます: {stayInside}"); } } }

出力結果

トリは飛べます: False
トリは巣にいます: True

この例では、canFlyはisSunnyとisWarmの両方がtrueのときにtrueになりますが、isWarmがfalseなので結果はFalseです。一方、stayInsideはisSunnyでない(!isSunny)、またはisWarmでない(!isWarm)ときにtrueになります。!isWarmがtrueのため、結果はTrueとなります。

メソッドでの戻り値

メソッドの戻り値としてbool型を使うと、処理の成功・失敗や、条件の判定結果を呼び出し元に返せます。

using System; namespace SampleApp { public class SampleProgram { public static void Main(string[] args) { int lionAge = 5; bool result = IsAdult(lionAge); Console.WriteLine($"ライオンは大人です: {result}"); } private static bool IsAdult(int age) { return age >= 3; } } }

出力結果

ライオンは大人です: True

この例では、IsAdultメソッドを呼び出し、ライオンの年齢が大人かどうかを判定しています。IsAdultメソッドは、引数のageが3以上ならtrueを、そうでなければfalseを返します。lionAgeは5なので、メソッドはtrueを返し、その結果が表示されます。

配列での活用

bool型の配列を使うと、複数の状態をまとめて管理できます。各要素が、個別のtrue/falseの値を持ちます。

using System; namespace SampleApp { public class SampleProgram { public static void Main(string[] args) { bool[] animalStatus = { true, false, true }; string[] animals = { "ゾウ", "キリン", "サル" }; for (int i = 0; i < animals.Length; i++) { if (animalStatus[i]) { Console.WriteLine($"{animals[i]}は起きています"); } else { Console.WriteLine($"{animals[i]}は寝ています"); } } } } }

出力結果

ゾウは起きています
キリンは寝ています
サルは起きています

この例では、forループを使ってanimals配列の要素を1つずつ取り出し、それに対応するanimalStatus配列の値を使って状態を表示しています。if文がtrueの場合は「起きています」と表示し、falseの場合はelseブロックが実行され、「寝ています」と表示されます。配列とループ、if文を組み合わせることで、複数の状態を効率的に処理できます。

ユーザー入力の検証

入力されたデータが正しいかどうかをチェックするときにも、bool型は役立ちます。条件を満たしているかどうかの判定に活用できます。

using System; namespace SampleApp { public class SampleProgram { public static void Main(string[] args) { string animalName = "パンダ"; int nameLength = animalName.Length; bool isValidName = nameLength >= 2 && nameLength <= 10; Console.WriteLine($"動物名「{animalName}」は有効: {isValidName}"); } } }

出力結果

動物名「パンダ」は有効: True

この例では、動物の名前の文字数が有効な範囲(2文字以上10文字以下)にあるかを検証しています。animalName(パンダ)の文字数は3なので、nameLength >= 2とnameLength <= 10の両方の条件を満たします。そのため、isValidNameはtrueになります。

フラグとしての利用

プログラムの実行フローを制御するフラグとしてbool型を活用します。処理の実行可否を判断する重要な仕組みです。

using System; namespace SampleApp { public class SampleProgram { public static void Main(string[] args) { int foundNuts = 5; bool hasNuts = false; if (foundNuts > 0) { hasNuts = true; } if (hasNuts) { Console.WriteLine("リスは木の実を食べます"); } else { Console.WriteLine("リスは木の実を探し続けます"); } } } }

出力結果

リスは木の実を食べます

この例では、hasNutsというフラグを使って、リスが木の実を持っているかどうかを管理しています。最初にフラグをfalseで初期化しておき、foundNutsが0より大きいという条件を満たしたときにtrueに変更しています。

if文では、フラグがtrueかfalseかによってリスの行動が変わります。このようにフラグは、途中で起きた出来事を記録しておき、後から動作を切り替えたいときにも役立ちます。

三項演算子との組み合わせ

三項演算子(? :)と組み合わせると、条件に応じた値の選択を一行で簡潔に書けます。コードがすっきりして読みやすくなります。

using System; namespace SampleApp { public class SampleProgram { public static void Main(string[] args) { bool isNight = true; string activity = isNight ? "狩りをします" : "日光浴をします"; Console.WriteLine($"フクロウは{activity}"); } } }

出力結果

フクロウは狩りをします

この例では、isNightがtrueかどうかを判定しています。trueなので、?の後の値である「狩りをします」がactivityに代入されます。もしisNightがfalseだった場合は、:の後の「日光浴をします」が代入されます。結果としてフクロウの夜の行動が表示されます。

まとめ

C#のbool型は、条件分岐や繰り返し処理の制御に欠かせないデータ型です。この記事では、基本的な使い方から実際の活用例まで解説しました。

bool型が活躍する場面

  • 値の比較結果に応じて処理を分けたいとき
  • ループ処理を続けるか終わらせるか判定したいとき
  • 処理が成功したか失敗したかの状態を管理するとき
  • 特定の条件が満たされているかを記録しておきたいとき

重要なポイント

  • trueとfalseの2つの値のみを持つデータ型
  • 比較演算子や論理演算子との組み合わせが可能
  • プログラムの状態管理とフラグ制御に最適

この記事で紹介したサンプルコードを実際に書いて、基本的な使い方を試してみてください。

条件を判断するコードは、実際の開発で頻繁に使われます。ぜひbool型をマスターして、実用的なプログラムを作成できるようになりましょう。

レベルを更に上げたい方はpaizaプログラミングスキルチェックへ

  1. paizaラーニングトップ
  2. リファレンス
  3. C#のリファレンス記事一覧
  4. C# bool型の使い方