请使用以下代码:
Sub Main()
Dim i As Integer
Dim b As Boolean
i = 1
b = i
i = b
Console.WriteLine(i)
i = Convert.ToInt32(b)
Console.WriteLine(i)
End Sub
Run Code Online (Sandbox Code Playgroud)
这打印出以下内容:
-1
1
Run Code Online (Sandbox Code Playgroud)
为什么是这样?
(只是一个笑话:)你也可以得到0 ...
Int32.TryParse("True", i)
Console.WriteLine(i)
Run Code Online (Sandbox Code Playgroud) 在C中,至少除了0之外的每个正值都被视为布尔值true.但负面价值呢?我做了一些测试,似乎负值也被视为布尔值true.这是一个特定的行为或实现吗?
(我来想想这个,当我在一个问题中看到,有人促进宣布在枚举为1和0"真"与"假")