什么是最简洁的方法来处理这是否Nothing /空字符串检查?

Cha*_*adD 1 vb.net

检查是否有最好的方法是查看TelephoneNumber属性中是否有一些不会修剪为空字符串的字符串?我讨厌在Nothing上使用Trim VB.NET函数,只要在TelephoneNumber为Nothing时给我一个空字符串.

   Public Class TelephoneNumberType

        Public Property TelephoneNumber() As String

    End Class

  Public Class Form1

    Private _PhoneObj As BusinessObjects.TelephoneNumberType

     Public Sub MySub


        If _PhoneObj IsNot Nothing AndAlso _
           _PhoneObj.TelephoneNumber isNot Nothing AndAlso _
           _PhoneObj.TelephoneNumber.Trim <> String.Empty Then
           MessageBox.Show("I have a non blank phone!")
        End If

      End Sub

    End Class
Run Code Online (Sandbox Code Playgroud)

编辑:

查看接受的答案,然后按如下方式调用

If _PhoneObj IsNot Nothing AndAlso _
   _PhoneObj.TelephoneNumber.IsNullOrEmpty Then
    MessageBox.Show("I have a non blank phone!")
End If
Run Code Online (Sandbox Code Playgroud)

令我困惑的是,"IsNullOrEmpty"函数作为字符串实例的扩展方法,即使String是NOTHING也是如此.为什么这个扩展方法有效,但直接遵循 - .NET代码引发异常?

Dim s as string


If s.trim() = "" Then   
    Message.Box.Show("This will never print") 
End If
Run Code Online (Sandbox Code Playgroud)

Ree*_*sey 6

您可以通过调用String.IsNullOrWhiteSpace(需要.NET 4)来替换它:

If _PhoneObj IsNot Nothing AndAlso Not String.IsNullOrWhitespace(_PhoneObj.TelephoneNumber) Then
   MessageBox.Show("I have a non blank phone!")
End If
Run Code Online (Sandbox Code Playgroud)