bool 是 System.Boolean 结构类型的别名(外号),使用两者作用一致。
bool 是二值结构,仅具有 true 和 false 两个值,表示 Boolean 运算的结果或比较运算、相等(不等)运算的结果。bool 表达式可以是 if、do、while 和 for 语句中以及条件运算符 ?: 中的控制条件表达式。

初始化
可以使用 true 或者 false 文本(不是字符串)来初始化 bool 变量或传递 bool 值:

bool ZD = true;
Console . WriteLine ( ZD ? "喜欢" : "讨厌" ); // 输出:喜欢

// 下面输出相同的结果“讨厌”
ZD = false;
Console . WriteLine ( ZD ? "喜欢" : "讨厌" ); // 输出:讨厌
Console . WriteLine ( false ? "喜欢" : "讨厌" ); // 输出:讨厌

三值
对于某些事物,两值结构不足以表达清晰。例如在多选列表中,就有选择一部分、全选或全不选三种可能性;或者支持三值布尔类型的数据库中。此时可以使用 bool? 类型(true 和 false 之外还有 null),并且预定义的 & 和 | 运算符支持三值逻辑。


转换
将数值转换为 bool:

任意非零数值0
turefalse

将 bool 转换为数值:

truefalse
10

注意:VisualBasic 会把 true 对于 Byte 类型转换为 255,其他类型转换为 -1。
可以把 string 转换为 bool,转换成功的唯一可能是字符串本身就是 true 或者 false。
将任意 Char、DateTime 类型的对象与 bool 互换都会引发 InvalidCastException 异常。


兔子码农
2 声望1 粉丝

一个酒晕子