personaelit
personaelit

Reputation: 1653

If Not String.Empty ignoring empty string - VB.NET

I have a array of strings and I am looping through them, but the string might be empty so I am trying this:

For Each Component As String In Components
    If Component IsNot String.Empty Then
        'Work your magic
    End If
Next

But if Component is an empty string the logic still fires. I've also tried

If Component <> "" Then 

End If

With the same results. So what am I missing?

Upvotes: 5

Views: 59694

Answers (3)

Wade73
Wade73

Reputation: 4519

One thing that has gotten me before is spaces. You can't see it when you view the variable in the watch window, but it makes the string not empty or null.

Upvotes: 1

Matt
Matt

Reputation: 2098

Do your string have default values and are they actually ""? What if you used:

If Not Component Is Nothing Then

End If

Upvotes: 0

Daniel May
Daniel May

Reputation: 8246

  1. Make sure that your List is of type string
  2. Use the String.IsNullOrEmpty method.

    Sub Main
        Dim foo As String
        foo = "Non-Empty string"
        If Not String.IsNullOrEmpty(foo) Then
            Console.WriteLine("Foo is not empty.")
        End If
    End Sub
    

Upvotes: 25

Related Questions