проверить строку на пустые места, а затем на определенное значение в 1 строке? - PullRequest
1 голос
/ 24 декабря 2008

Кажется, я всегда вижу, имеет ли строка (обычно значение строки запроса) значение, но сначала я должен проверить, что это не ничто, поэтому в итоге я получаю 2 оператора if then - здесь я пропустил что-то здесь быть лучшим способом сделать это:

If Not String.IsNullOrEmpty(myString) Then
  If CBool(myString) Then
   //code
   End If
End If

Ответы [ 5 ]

4 голосов
/ 24 декабря 2008

В VB.Net, И не закорачивает, но И также делает.

(то же самое для Or и OrElse)

Итак, ваш код должен выглядеть примерно так:

If Not String.IsNullOrEmpty(myString) AndAlso CBool(myString) Then 
    ....
End If
1 голос
/ 24 декабря 2008

И также (как уже упоминалось) является наиболее универсальным ответом. Но вы также можете использовать различные методы TryParse, которые сделают код следующим образом:

Dim b as Boolean
If Boolean.TryParse(myString, b) AndAlso b Then
End If

Бонус, это избавит вас от FormatException, когда кто-то отправит "бла" в вашей строке запроса.

1 голос
/ 24 декабря 2008

Логический оператор "и" на вашем языке? Условия обычно замыкаются на короткое замыкание, поэтому, если первый отказывает, второй не выполняется / ошибка.

0 голосов
/ 24 декабря 2008

Используйте следующее при использовании .NET 2.0 или выше:

String.IsNullOrEmpty(thestringobject)

Будет оцениваться как True или False в зависимости. Обычно я создаю другую функцию в служебном классе, которая выполняет эту проверку, а также проверяет обрезку / длину, чтобы знать, является ли строковый объект пустым или пустым.

0 голосов
/ 24 декабря 2008

К вашему сведению, этот тип кода идеально подходит как «метод расширения». Короче говоря, это означает, что вы можете расширить строку с помощью метода, предоставляющего ваш собственный код.

Посмотри:)

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