我个人会这样写:
Dim textSample As String = "F"
If textSample <> "D" AndAlso textSample <> "E" AndAlso textSample <> "F" Then
MessageBox.Show("False")
End If
如果您像我一样喜欢使用 .NET 的可链接性,我还为自己编写了几个字符串扩展,用于以下情况:
Public Module StringExtensions
<Extension()> _
Public Function IsNullOrBlank(ByVal s As String) As Boolean
Return s Is Nothing OrElse s.Trim.Length.Equals(0)
End Function
<Extension()> _
Public Function IsNotNullOrBlank(ByVal s As String) As Boolean
Return s IsNot Nothing AndAlso s.Trim.Length > 0
End Function
<Extension()> _
Public Function IsEqualToAny(ByVal s As String, ByVal ParamArray values As String()) As Boolean
If s.IsNotNullOrBlank AndAlso values.Length > 0 Then
For Each value As String In values
If s = value Then Return True
Next
End If
Return False
End Function
<Extension()> _
Public Function IsNotEqualToAny(ByVal s As String, ByVal ParamArray values As String()) As Boolean
If s.IsNotNullOrBlank AndAlso values.Length > 0 Then
For Each value As String In values
If s = value Then Return False
Next
End If
Return True
End Function
End Module
然后我可以像这样写你的 If 语句:
Dim textSample As String = "F"
If textSample.IsNotEqualToAny("D", "E", "F") Then
MessageBox.Show("False")
End If