Если не String.Empty игнорирует пустую строку - VB.NET - PullRequest
5 голосов
/ 11 августа 2010

У меня есть массив строк, и я перебираю их, но строка может быть пустой, поэтому я пытаюсь это сделать:

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

Но если Component - пустая строка, логика все еще срабатывает. Я также попробовал

If Component <> "" Then 

End If

С такими же результатами. Так чего мне не хватает?

Ответы [ 3 ]

17 голосов
/ 11 августа 2010
  1. Убедитесь, что ваш список имеет тип string
  2. Используйте метод String.IsNullOrEmpty.

    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
    
1 голос
/ 11 августа 2010

Одна вещь, которая до меня дошла, это пробелы.Вы не можете видеть это, когда просматриваете переменную в окне просмотра, но это делает строку не пустой или нулевой.

0 голосов
/ 11 августа 2010

Есть ли у вашей строки значения по умолчанию и они на самом деле ""?Что делать, если вы использовали:

If Not Component Is Nothing Then

End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...