VB.NET中的类型比较

28

我该如何在VB.NET中比较数据类型? 我的代码:

Private Function Equal(ByVal parameter As String, ByVal paramenterName As String, ByVal dataType As Type) As String

    If dataType = String Then
        return 1;
    End If

 End Function

有什么想法吗?


你能选择另一个答案作为已选中的答案吗?因为你选择的答案在 vb.net 中存在语法错误。 - thecoolmacdude
4个回答

29
If dataType = GetType(String) Then
    return 1
End If

3
当我在尝试在VS 2013 Express中编译时出现了编译错误 - 使用下面建议中的“type Is GetType()”方法对我有效。 - Daniel Neel
3
嗨Darin,你的解决方案在VB.NET中似乎不再有效。作为被采纳的答案,你能否更新一下它,使其保持有效? - Sheridan
语法错误。不应该有分号,但是StackOverflow的荒谬规则不允许您在无效答案中编辑一个字符。 - thecoolmacdude

25
If datatype Is GetType(String) Then
    'do something
End If

=替换为Is,一切都能正常工作。


18

1
这可能是在VB中实现它的最佳方法。
If dataType Is String Then
    return 1
End If

1
这样是行不通的。你必须使用GetType(String),因为Is运算符比较的是两个对象,而String是一种类型而不是一个对象。 - Marcell
2
如果 dataType 的类型是字符串 - nh32rg
TypeOf dataType 不起作用,因为它返回的是 Type 而不是 String。如其他答案中所提到的,dataType Is GetType(String) 是正确检查类型的方式。 - Michael Bugglin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接