VB.NET中的类型比较

Har*_*OTA 20 vb.net types

我如何比较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
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Dar*_*rov 26

If dataType = GetType(String) Then
    return 1
End If
Run Code Online (Sandbox Code Playgroud)

  • 在VS 2013 Express中尝试此操作时出现编译错误 - 以下建议使用"type Is GetType()"为我工作. (3认同)
  • 嗨Darin,您的解决方案似乎在VB.NET中不再有效.作为公认的答案,您可以更新它,以便它仍然有效吗? (3认同)

小智 24

If datatype Is GetType(String) Then
    'do something
End If
Run Code Online (Sandbox Code Playgroud)

替代Is=一切作品


the*_*ude 11

接受的答案有语法错误.这是正确的解决方案:

If dataType = GetType(String) Then
    Return 1
End If
Run Code Online (Sandbox Code Playgroud)

要么

 If dataType.Equals(GetType(String)) Then
      Return 1
 End If
Run Code Online (Sandbox Code Playgroud)

要么

 If dataType Is GetType(String) Then
     Return 1
 End If
Run Code Online (Sandbox Code Playgroud)

最后一种方法可能是检查的最佳方法,因为如果对象为null,它不会抛出异常.

另请参阅https://msdn.microsoft.com/en-us/library/system.object.gettype(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1