2017-05-29 53 views
-2

我想弄清楚如何使無限循環來驗證用戶輸入是一個字符串。然而,我發現當我通過輸入一個數字來測試程序時,控制檯會認爲這個字符串是一個輸入。你如何解決這個問題?Visual Basic .NET如何區分字符串和整數與用戶輸入

順便說一下這裏是我工作的代碼:

Dim input As Object 

     Do 
      Try 
       input = Console.ReadLine() 
      Catch 
       Console.WriteLine("Error - Input was Invalid") 
       input = Console.ReadLine() 
      End Try 
     Loop Until TypeOf input Is String 
+0

字符串是非常普遍的。所有的用戶輸入類型(整數,實數,日期等)都是有效的字符串。 – RBarryYoung

+1

'Visual Basic .NET如何區分' - 它沒有。 [Console.ReadLine](https://msdn.microsoft.com/en-us/library/system.console.readline(v = vs.110).aspx)返回一個字符串。 – GSerg

+0

[讀取用戶輸入的整數]可能的重複(https://stackoverflow.com/questions/24443827/reading-an-integer-from-user-input) –

回答

1
Dim i As Integer 
If Integer.TryParse(Console.ReadLine(),i) 
    'Good to go 
End If 
+0

您是否知道是否有方法使用字符串執行此操作 – Stephen

+0

這是字符串的解決方案。 – Mike

+0

啊我現在想出來了,謝謝 – Stephen

1

功能到Console.ReadLine()總是會返回一個字符串值(或沒有,這等於在其他語言爲空)。

所以,如果你想轉換到整數,你可以使用:

Convert.ToInt32(Console.ReadLine()) 

如果到Console.ReadLine()不是一個整數它會拋出一個異常