无法比较类型
问题描述:
我想查看尝试转换是否可以将用户输入的答案转换为我指定的类型。无法比较类型
这是我有:
Dim t as type = GetType(myType)
Dim ans = console.readline()
If TryCast(ans, t) <> Nothing Then ... 'Doesn't work`
在智能感知甚至不显示T上方的例子。如何使它工作?
答
我猜你想检查用户的输入是字符串,int,bool,日期等...
所以,如果你想转换readline()
特定类型,你可以做到以下几点:
If myType.GetType Is GetType(Integer) Then
'your code...
ElseIf myType.GetType Is GetType(DateTime) Then
....
丹尼斯的答复也是一个不错的想法..
希望帮助!
答
您不需要获取类型。如果ans
类型为string
可以转换为myType
,那么以下内容应该可以工作。当然,如果不知道myType
的执行情况,我不知道铸件是否可以工作。
Dim ans = console.readline()
If TryCast(ans, myType) <> Nothing Then
...
End If
答
我不知道,如果你与你的了的myType等问题存在,但你用是测试,没有:
If myObject Is Nothing Then
或
If myObject IsNot Nothing Then
答
我想看看如果尝试转换可以将用户输入的答案转换为我指定的类型 。
在这种情况下,你不想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