检查是否有最好的方法是查看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)
您可以通过调用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)