bool类型的值只有两种,分别是true和false。它对应.NET中的System.Boolean。在这个值类型的内部,其实定义了两个int类型的值分别表示true和false,另外,还定义了它的字符串形式。
internal const int True = 1;
internal const int False = 0;
[__DynamicallyInvokable]
public static readonly string TrueString = "True";
[__DynamicallyInvokable]
public static readonly string FalseString = "False";
声明和初始化
bool state = true;
将state变量声明为bool型,同时初始化一个true。
虽然0表示false,1表示true,但是我们不能直接将0或1赋值给一个bool类型的变量,它会报下面的错误,例如,我们定义如下:bool b = 1;
错误提示
错误 CS0029 无法将类型“int”隐式转换为“bool”
也并非不能实现int类型与bool类型的转换。参考如下的例子:
internal class Program
{
static void Main(string[] args)
{
bool state = true;
Console.WriteLine($"state={state}");
Console.WriteLine($"FalseString={bool.FalseString}");
Console.WriteLine($"TrueString ={bool.TrueString}");
int a = 0;
bool b = Convert.ToBoolean(a);
Console.WriteLine($"将int类型的{a}转化为bool类型的{b}");
a = 1;
b = Convert.ToBoolean(a);
Console.WriteLine($"将int类型的{a}转化为bool类型的{b}");
a = 2;
b = Convert.ToBoolean(a);
Console.WriteLine($"将int类型的{a}转化为bool类型的{b}");
a = -1;
b = Convert.ToBoolean(a);
Console.WriteLine($"将int类型的{a}转化为bool类型的{b}");
var v = Console.ReadKey();
}
}
输出如下:
state=True
FalseString=False
TrueString =True
将int类型的0转化为bool类型的False
将int类型的1转化为bool类型的True
将int类型的2转化为bool类型的True
将int类型的-1转化为bool类型的True
我们可以利用Convert.ToBoolean()函数实现int向bool的转换,并且得出结论,0表示false,非0表示true。bool类型的变量通常用在判断语句中,根据不同的状态执行不同的业务流程。
当前课程源码下载:(注明:本站所有源代码请按标题搜索)
文件名:004-《bool数据类型》源代码
链接:https://pan.baidu.com/s/1Bq2lX7cruUbklLwgjGggSw
提取码:byte
——重庆教主 2023年12月25日