2014-11-08 2 views
1

Я пишу простую игру для угадывания случайных чисел и использую утверждение isnumeric. Это Visual Basic программа делается в Visual Studio 2013.Что я могу использовать вместо isnumeric в vb.net

Вот мой код:

Private Sub btnTry_Click(sender As Object, e As EventArgs) Handles btnTry.Click 
    Dim intTry As Integer 
    Dim strInputBox As String 
    strInputBox = InputBox("Enter Your Number to Guess.", "Input Needed") 

    If IsNumeric(strInputBox) Then 
     intTry = CInt(strInputBox) 
     lstTried.Items.Add(intTry) 
    Else 
     MessageBox.Show("Please Type Only Numbers") 
    End If 

    If intTry = intRandomNumber Then 
     MessageBox.Show("You Got It!", "Correct Guess") 

    Else 
     MessageBox.Show("Incorrect. Please try again.", "Incorrect Guess") 

    End If 

Я хотел бы использовать что-то вместо «IsNumeric» в своем заявлении If. Я не знаю, как это сделать. Кто-нибудь может мне помочь. Я попытался использовать integer.tryparse, но не смог заставить его работать. Конкретная помощь будет оценена. Это работает прямо сейчас, я соблазн оставить его в покое, но мне сказали, что это старый код стиля, и есть другой способ сделать это.

Спасибо,

Steve

+2

'Integer.TryParse' заменит' 'IsNumeric' и CInt' линии, увы ... – Plutonix

+0

Какая проблема у вас с Int32.TryParse? – Steve

ответ

2

Вы можете попробовать это, я также сделал некоторые наводящие исправления в код.

Private Sub btnTry_Click(sender As Object, e As EventArgs) Handles btnTry.Click 
Dim intTry As Integer = 0 

'This wont throw an exception if it's not an integer, it will come back false... 
If Integer.TryParse(InputBox("Enter your number to guess.", "Input Needed"), intTry) Then 
    lstTried.Items.Add(intTry) 
Else 
    MessageBox.Show("Please Type Only Numbers") 
    Exit Sub 
End If 

If intTry = intRandomNumber Then 
    MessageBox.Show("You Got It!", "Correct Guess") 
Else 
    MessageBox.Show("Incorrect. Please try again.", "Incorrect Guess") 
End If 

End Sub 
Смежные вопросы