以前没有注意这些差异,今天在看到MSDN上的说明后自己验证了一下: Dim i As Integer Dim bT As Boolean = True Dim bF As Boolean = False i = bT : Debug.WriteLine( " bT = " & i.ToString()) ' i = -1 i = bF : Debug.WriteLine( " bF = " & i.ToString()) ' i = 0 i = CInt (bT) : Debug.WriteLine( " CInt(bT) = " & i.ToString()) ' i = -1 i = CInt (bF) : Debug.WriteLine( " CInt(bF) = " & i.ToString()) ' i = 0 i = Convert.ToInt32(bT) : Debug.WriteLine( " Convert.ToInt32(bT) = " & i.ToString()) ' i = 1 i = Convert.ToInt32(bF) : Debug.WriteLine( " Convert.ToInt32(bF) = " & i.ToString())