看看下面的代碼:布爾轉換爲整數VB.NET中
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
此打印如下:
-1
1
這是爲什麼?
(只是個玩笑:)你可以得到0太...
Int32.TryParse("True", i)
Console.WriteLine(i)
您可能想要添加一些關於WHY的信息VT_BOOL已被使用,爲什麼它的值是-1。 VB 6只有1組「和」和「或」運算符,它們同時執行邏輯運算和按位運算(大多數語言有2組)。 通過將「和」實現爲「&」,並將字面默認值設置爲-1,從而達到了這一目標。 – 2009-04-13 21:07:48
這種方式「true和x」在任何時候都不爲零,「x」不爲零。 – 2009-04-13 21:08:23