2012-01-30 84 views
0

我想查看尝试转换是否可以将用户输入的答案转换为我指定的类型。无法比较类型

这是我有:

Dim t as type = GetType(myType) 
Dim ans = console.readline() 

If TryCast(ans, t) <> Nothing Then ... 'Doesn't work` 

在智能感知甚至不显示T上方的例子。如何使它工作?

回答

0

我猜你想检查用户的输入是字符串,int,bool,日期等...

所以,如果你想转换readline()特定类型,你可以做到以下几点:

If myType.GetType Is GetType(Integer) Then 
    'your code... 
ElseIf myType.GetType Is GetType(DateTime) Then 
    .... 

丹尼斯的答复也是一个不错的想法..

希望帮助!

0

您不需要获取类型。如果ans类型为string可以转换为myType,那么以下内容应该可以工作。当然,如果不知道myType的执行情况,我不知道铸件是否可以工作。

Dim ans = console.readline() 
If TryCast(ans, myType) <> Nothing Then 
    ... 
End If 
0

我不知道,如果你与你的了的myType等问题存在,但你用是测试,没有:

If myObject Is Nothing Then 

If myObject IsNot Nothing Then 
0

我想看看如果尝试转换可以将用户输入的答案转换为我指定的类型 。

在这种情况下,你不想Cast,你想Parse用户的答案。比方说,一个用户输入一个字符串的值,并且你想将它解析为一个Integer,你应该这样做:

Dim userInput As String = "123" 
Dim intValue As Integer 
If Integer.TryParse(userInput, intValue) Then 
    'User's answer is an int 
End If