【问题标题】:When I click the button, the Select Case will not do anything当我单击按钮时,Select Case 不会做任何事情
【发布时间】:2019-08-11 06:29:59
【问题描述】:

堆栈溢出。 我正在制作一个括号程序。我希望能够使用Select Case 来判断谁会赢。

我做了以下代码:

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim gen1 As New System.Random
        Dim random As Integer
        Dim B1 As String
        random = gen1.Next(0, 101)
        Select Case B1
            Case random <= 50
                MessageBox.Show("less than or = to 50")
            Case random >= 51
                MessageBox.Show("More than or = to 51")
        End Select
    End Sub

但是当我点击按钮时,代码没有做任何事情。没有消息框出现,什么都没有。这段代码可能有什么问题? 我已经使用Dim gen1 As New System.RandomDim random As Integer 正确设置了随机生成器代码,但没有任何反应。感谢您的帮助!

【问题讨论】:

  • 你可能想要Select Case random。然后Case Is &lt;= 50 等。如果你设置Option Strict On,你会立即知道哪里出了问题。
  • 当您使用 B1 开始选择然后为您的案例使用另一个变量时,您期望会发生什么?

标签: .net vb.net visual-studio visual-studio-2017


【解决方案1】:

您尚未将 B1 变量设置为任何值。如果你把代码修改成这样:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim gen1 As New System.Random
    Dim random As Integer
    Dim B1 As String

    random = gen1.Next(0, 101)
    Select Case random
        Case Is <= 50
            MessageBox.Show("less than or = to 50")
        Case Else
            MessageBox.Show("More than or = to 51")
    End Select
End Sub

你可以在这里找到更多信息Select Case Help

您可以改写它以使用 If 语句

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim gen1 As New System.Random

    if gen1.Next(0, 101) <= 50 then
        MessageBox.Show("less than or = to 50")
    else
        MessageBox.Show("More than or = to 51")
    End if
End Sub

【讨论】:

  • 最好在Sub外部声明Random类。它以系统时间为种子,如果再次快速单击该按钮,您可以获得相同的“随机”数字”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-31
  • 2022-06-16
  • 2014-10-07
  • 1970-01-01
  • 2020-07-14
  • 1970-01-01
  • 2016-07-04
相关资源
最近更新 更多