none
if 语句问题? RRS feed

  • 问题

  •     窗体上建立两个标签,缺省状态。代码如下,我的问题是窗体应该出现:I do'not love you,为什么出现了:I love you??

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            If 8 < 5 < 7 Then
                Label1.Text = "I love you"
            Else
                Label2.Text = "I do'not love you"
            End If
        End Sub
    End Class
    visual studio 2008
    2009年3月8日 14:45

答案

  • 按照从左到右的计算顺序,
    8 < 5的计算结果为 False
    你的条件相当于

    If False < 7 Then

    此时,False转换成数字是0
    False 会变为 0,而 True 会变为 -1。

    此时相对于
    If 0< 7 Then

    所以执行的是第一条语句
    孟宪会
    • 已标记为答案 liunain021 2009年3月9日 2:42
    2009年3月8日 20:50
    版主
  • 韦恩卑鄙 说:

     If 140 < x   and  x< 180 Then


    就算首页不能显示30天内排行榜 回答总数也快接近top10了 5555
    努力奋斗 重回首页排行榜!!! 55555
    有原则的回答问题: 不懂的不去装懂,别人回答得很完整的,没有需要补充的不去蹭分。



    我想也是这样是的,呵呵,你们这些高手说出来才更好。
    visual studio 2008
    • 已标记为答案 liunain021 2009年3月9日 2:42
    2009年3月9日 2:36

全部回复

  • 按照从左到右的计算顺序,
    8 < 5的计算结果为 False
    你的条件相当于

    If False < 7 Then

    此时,False转换成数字是0
    False 会变为 0,而 True 会变为 -1。

    此时相对于
    If 0< 7 Then

    所以执行的是第一条语句
    孟宪会
    • 已标记为答案 liunain021 2009年3月9日 2:42
    2009年3月8日 20:50
    版主
  • 孟宪会 说:

    按照从左到右的计算顺序,
    8 < 5的计算结果为 False
    你的条件相当于

    If False < 7 Then

    此时,False转换成数字是0
    False 会变为 0,而 True 会变为 -1。

    此时相对于
    If 0< 7 Then

    所以执行的是第一条语句


    孟宪会


    是这样啊。
    visual studio 2008
    2009年3月9日 1:51
  • 孟宪会 说:

    按照从左到右的计算顺序,
    8 < 5的计算结果为 False
    你的条件相当于

    If False < 7 Then

    此时,False转换成数字是0
    False 会变为 0,而 True 会变为 -1。

    此时相对于
    If 0< 7 Then

    所以执行的是第一条语句


    孟宪会



    那如果是这样,应该怎么写呢? x 由文本框输入,不管x输入什么值,都执行

    Label1.Text = "I love you"语句,我的想法是x值在这个范围之内才执行这个语句,否则执行Label2.Text = "I do'not love you"

     If 140 < x < 180 Then

                Label1.Text = "I love you"
            Else
               Label2.Text = "I do'not love you"
            End If



    visual studio 2008
    2009年3月9日 2:19
  •  If 140 < x   and  x< 180 Then
    就算首页不能显示30天内排行榜 回答总数也快接近top10了 5555
    努力奋斗 重回首页排行榜!!! 55555
    有原则的回答问题: 不懂的不去装懂,别人回答得很完整的,没有需要补充的不去蹭分。
    2009年3月9日 2:32
  • 韦恩卑鄙 说:

     If 140 < x   and  x< 180 Then


    就算首页不能显示30天内排行榜 回答总数也快接近top10了 5555
    努力奋斗 重回首页排行榜!!! 55555
    有原则的回答问题: 不懂的不去装懂,别人回答得很完整的,没有需要补充的不去蹭分。



    我想也是这样是的,呵呵,你们这些高手说出来才更好。
    visual studio 2008
    • 已标记为答案 liunain021 2009年3月9日 2:42
    2009年3月9日 2:36