.Net:空字符串是不是空格字符?

Jac*_*ack 2 .net vb.net string null

我总是使用String.IsNullOrEmpty来检查空字符串.它最近引起我的注意,""计数不是一个空字符串.例如,

 Dim test As String = " "
    If String.IsNullOrEmpty(test) Then
        MessageBox.Show("Empty String")
    Else
        MessageBox.Show("Not Emtpy String")
    End If
Run Code Online (Sandbox Code Playgroud)

它将显示"非空字符串".那么我们如何检查字符串中的""或""?

编辑:我不知道""算作角色.

Jar*_*Par 13

尝试使用此方法检查空字符串.它与Trim()版本的不同之处在于它不分配新的字符串.它还使用了更广泛的空白概念.

Public Function IsNullOrBlank(ByVal str as String) As Boolean
  if String.IsNullOrEmpty(str) Then
    Return True
  End IF
  For Each c In str
    IF Not Char.IsWhiteSpace(c) Then
      Return False
    End If
  Next
  Return True
End Function
Run Code Online (Sandbox Code Playgroud)


Phi*_*ney 7

String.IsNullOrWhiteSpace位于.NET 4中的BCL中


Pet*_*ras 6

""是ASCII 32值,它与任何其他ASCII字符没有区别,除了它"看起来"空白.