公開:

C#のBool型とは?意味をわかりやすく簡単に解説

text: XEXEQ編集部


Bool型とは

C#において、Bool型は真偽値を表す型の一つです。Bool型の変数にはtrueまたはfalseのいずれかの値が格納されます。

Bool型はプログラミングにおいて条件分岐や論理演算を行う際に非常に重要な役割を果たします。例えば、if文の条件式にBool型の値を使用することで、条件が成立するかどうかを判定できます。

Bool型のサイズは1バイトで、trueは1、falseは0という値が内部的に割り当てられています。Bool型の変数を宣言する際はboolキーワードを使用します。

Bool型の値は比較演算子や論理演算子を使用することで算出できます。比較演算子には等価演算子(==)や不等価演算子(!=)、大小関係を表す演算子などがあります。

論理演算子にはAND(&&)、OR(||)、NOT(!)の3つがあり、複数の条件を組み合わせて真偽値を求める際に使用します。Bool型はこれらの演算子と組み合わせることで、柔軟な条件判定を行うことができます。

Bool型を使用した条件分岐

Bool型を使用した条件分岐に関して、以下3つを簡単に解説していきます。

  • if文でのBool型の使用方法
  • switch文でのBool型の使用方法
  • 三項演算子でのBool型の使用方法

if文でのBool型の使用方法

if文は指定した条件が成立する場合にのみ、特定の処理を実行するための制御構文です。if文の条件式にはBool型の値やBool型の値を返す式を指定します。

条件式がtrueと評価された場合、if文のブロック内の処理が実行されます。falseと評価された場合はelse文が存在すればelse文のブロック内の処理が実行されます。

以下はif文でBool型を使用した例です。

bool isEven = (number % 2 == 0);
if (isEven)
{
Console.WriteLine($"{number}は偶数です。");
}
else
{
Console.WriteLine($"{number}は奇数です。");
}

switch文でのBool型の使用方法

switch文は指定した式の値に基づいて、複数の処理を分岐させるための制御構文です。Bool型の値をswitch文の式として使用することで、真偽値に応じた処理の分岐が可能になります。

switch文のcase節にはBool型のリテラル値(trueまたはfalse)を指定します。式の値と一致するcase節の処理が実行され、break文で処理が中断されます。

以下はswitch文でBool型を使用した例です。

bool isPositive = (number > 0);
switch (isPositive)
{
case true:
Console.WriteLine($"{number}は正の数です。");
break;
case false:
Console.WriteLine($"{number}は正の数ではありません。");
break;
}

三項演算子でのBool型の使用方法

三項演算子は条件式の真偽値に基づいて、異なる値を返すための演算子です。三項演算子の条件式にはBool型の値やBool型の値を返す式を指定できます。

条件式がtrueと評価された場合、三項演算子は最初の式の値を返します。falseと評価された場合は2番目の式の値が返されます。

以下は三項演算子でBool型を使用した例です。

bool isMultipleOfThree = (number % 3 == 0);
string result = isMultipleOfThree ? $"{number}は3の倍数です。" : $"{number}は3の倍数ではありません。";
Console.WriteLine(result);

Bool型と論理演算子

Bool型と論理演算子に関して、以下3つを簡単に解説していきます。

  • AND演算子(&&)の使用方法
  • OR演算子(||)の使用方法
  • NOT演算子(!)の使用方法

AND演算子(&&)の使用方法

AND演算子(&&)は2つのBool型の値や式を比較し、両方がtrueの場合にのみtrueを返す論理演算子です。一方の値またはどの値でもfalseである場合、AND演算子はfalseを返します。

AND演算子は複数の条件を組み合わせて真偽値を求める際に使用されます。例えば、ある変数が特定の範囲内にあるかどうかを判定する場合などに用いられます。

以下はAND演算子の使用例です。

bool isInRange = (number >= 1) && (number <= 10);
if (isInRange)
{
Console.WriteLine($"{number}は1以上10以下の範囲内にあります。");
}
else
{
Console.WriteLine($"{number}は1以上10以下の範囲外です。");
}

OR演算子(||)の使用方法

OR演算子(||)は2つのBool型の値や式を比較し、少なくとも一方がtrueの場合にtrueを返す論理演算子です。両方の値がfalseである場合にのみ、OR演算子はfalseを返します。

OR演算子は複数の条件のうち、少なくとも1つが成立すればよい場合に使用されます。例えば、ある変数が特定の値のいずれかに等しいかどうかを判定する場合などに用いられます。

以下はOR演算子の使用例です。

bool isEqualToFiveOrTen = (number == 5) || (number == 10);
if (isEqualToFiveOrTen)
{
Console.WriteLine($"{number}は5または10です。");
}
else
{
Console.WriteLine($"{number}は5でも10でもありません。");
}

NOT演算子(!)の使用方法

NOT演算子(!)はBool型の値や式の真偽値を反転させる単項演算子です。NOT演算子はオペランドがtrueの場合はfalseを返し、オペランドがfalseの場合はtrueを返します。

NOT演算子は条件の否定を表現する際に使用されます。例えば、ある変数が特定の条件を満たさない場合の処理を記述する際などに用いられます。

以下はNOT演算子の使用例です。

bool isNotZero = !(number == 0);
if (isNotZero)
{
Console.WriteLine($"{number}は0ではありません。");
}
else
{
Console.WriteLine($"{number}は0です。");
}

Bool型のメソッド

Bool型のメソッドに関して、以下3つを簡単に解説していきます。

  • Equals()メソッドの使用方法
  • ToString()メソッドの使用方法
  • Parse()メソッドの使用方法

Equals()メソッドの使用方法

Equals()メソッドは2つのBool型の値が等しいかどうかを判定するメソッドです。比較対象のBool型の値を引数として受け取り、等しい場合はtrue、等しくない場合はfalseを返します。

Equals()メソッドはBool型の値を直接比較する際に使用できます。ただし、等価演算子(==)を使用しても同様の比較が可能であるため、一般的には等価演算子が好まれる傾向にあります。

以下はEquals()メソッドの使用例です。

bool value1 = true;
bool value2 = false;
bool isEqual = value1.Equals(value2);
Console.WriteLine($"value1とvalue2は等しい: {isEqual}");

ToString()メソッドの使用方法

ToString()メソッドはBool型の値を文字列表現に変換するメソッドです。true に対しては文字列 "True" を返し、false に対しては文字列 "False" を返します。

ToString()メソッドはBool型の値を文字列として出力する際や、文字列との連結が必要な場合に使用されます。Bool型の値を文字列に変換することで、出力やログ記録などが容易になります。

以下はToString()メソッドの使用例です。

bool value = true;
string boolString = value.ToString();
Console.WriteLine($"Bool型の値を文字列に変換: {boolString}");

Parse()メソッドの使用方法

Parse()メソッドは文字列をBool型の値に変換するメソッドです。文字列 "True" や "true" をtrueに変換し、文字列 "False" や "false" をfalseに変換します。

Parse()メソッドはユーザー入力やファイルからの読み込みなど、文字列形式のデータをBool型に変換する必要がある場合に使用されます。文字列からBool型への変換が失敗した場合はFormatExceptionがスローされます。

以下はParse()メソッドの使用例です。

string boolString = "True";
bool value = bool.Parse(boolString);
Console.WriteLine($"文字列をBool型に変換: {value}");

※上記コンテンツはAIで確認しておりますが、間違い等ある場合はコメントよりご連絡いただけますと幸いです。

「コンピュータ」に関するコラム一覧「コンピュータ」に関するニュース一覧
ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。