不明白是否阻止行为

时间:2013-06-24 12:02:48

标签: vb.net

我有以下代码:

Sub Main()
    Dim a As Integer = 8 * 60
    Dim b As Integer
    Dim c As Integer
    If a < (6 * 60) Then
        b = 0 And c = 0
    ElseIf a >= 6 * 60 And a < 9 * 60 Then
        b = 30 And c = 1
    Else
        b = 45 And
       c = 1
    End If
    MsgBox(b)
End Sub

认为我不明白,我需要某人的帮助:

  1. &#34; C = 0&#34;和&#34; c = 1&#34;带有错误的下划线:Strict on不允许从布尔值到整数的隐式转换。为什么?我将c声明为整数!
  2. 变量&#34; b&#34;和&#34; c&#34;总是&#34; 0&#34;即使在上面的情况下,它们应该是b = 30和c = 1。
  3. 任何人都可以请你解释一下这种行为。

1 个答案:

答案 0 :(得分:3)

您正在使用不允许的And关键字。 And是一个逻辑运算符(以及OrAndAlsoOrElse。)

以下情况应该有效。

Sub Main()
    Dim a As Integer = 8 * 60
    Dim b As Integer
    Dim c As Integer
    If a < (6 * 60) Then
        b = 0
        c = 0
    ElseIf a >= 6 * 60 And a < 9 * 60 Then
        b = 30
        c = 1
    Else
        b = 45
        c = 1
    End If
    MsgBox(b)
End Sub