Я ищу способ установить для логического значения значение false, если строковое значение имеет значение NULL. Я мог бы легко сделать это с помощью оператора if, но мне было интересно, есть ли лучший способ сделать это.
Мне понадобится что-то, что делает то же самое, что и этот оператор if:
if (stringValue != null)
boolValue = true;
else
boolValue = false;
Любые предложения приветствуются.
Обновлено: Извините за глупый вопрос, мой мозг сегодня не работает.
boolValue = !string.IsNullOrEmpty(stringValue);
Обновлено:
Если вы действительно хотите проверить, является ли строка null
, а не NullOrEmpty
(есть разница), используйте
boolValue = stringValue != null;
Технически это не дает того же результата, что опубликовано. Билла знает.
Правильно, это установит boolvalue, даже если строка просто пуста, но не равна нулю.
Вы можете установить переменную непосредственно равной условию в вашем операторе if.
boolValue = (stringValue != null)
Что ж, он не выполняет всего этого, потому что вам нужно использовать 2 строки, но вы можете сначала использовать метод string.Trim (), чтобы удалить все начальные и конечные символы пробела из текущего объекта String. вы объявляете, что значение типа bool равно результату string.IsNullOrEmpty ().
stringvalue.Trim();
boolValue = !string.IsNullOrEmpty(stringValue);
Или вы также можете:
boolValue = (stringvalue != null);
Почему вы включаете string.Trim()
? OP спрашивает о нуле, а не о пустом или пробеле.
Просто чтобы проверить, не состоит ли String из чего-то вроде "". Интересный тест на непротиворечивость для такого типа кейсов, но на самом деле он не нужен.
Обычно это полезная проверка, но я думаю, что в данном случае она вводит в заблуждение. В зависимости от обстоятельств пустые строки могут быть допустимыми, но не нулевыми.
Честно говоря, незнание того, какой конкретный случай использования затрудняет ответ, я просто включил его, потому что подумал, что он может проверять строку для использования в строке Sql или что-то в этом роде.
Если строка имеет значение NULL, то Trim
вызовет исключение с нулевой ссылкой, и вы никогда не попадете на тест IsNullOrEmpty
. Лучшим способом сделать то, что вы пытаетесь показать, будет string.IsNullOrWhiteSpace
... Но опять же OP явно запрашивает только null
что со всеми отрицательными голосами?