Подтвердить что ты не робот

String.IsNullOrEmpty() Проверить пространство

Что необходимо для того, чтобы сделать строки String.IsNullOrEmpty() пустыми строк пустыми?

Eg. Я хочу, чтобы следующее возвращалось true вместо обычного false:

String.IsNullOrEmpty(" ");

Есть ли лучший подход, чем:

 String.IsNullOrEmpty(" ".Trim());

(Обратите внимание, что исходный вопрос задал вопрос о том, что, как правило, возвращение было бы результатом несимпатичных комментариев, это было заменено более разумным вопросом).

4b9b3361

Ответ 1

.NET 4.0 представит метод String.IsNullOrWhiteSpace. До тех пор вам нужно будет использовать Trim, если вы хотите иметь дело с белыми пробелами так же, как с пустыми строками.

Для кода, не использующего .NET 4.0, вспомогательный метод для проверки null или пустых или простых строк может быть реализован следующим образом:

public static bool IsNullOrWhiteSpace(string value)
{
    if (String.IsNullOrEmpty(value))
    {
        return true;
    }

    return String.IsNullOrEmpty(value.Trim());
}

String.IsNullOrEmpty не выполнит никакой обрезки и просто проверит, является ли строка нулевой ссылкой или пустой строкой.

Ответ 2

String.IsNullOrEmpty(" ")

... Возвращает False

String foo = null;
String.IsNullOrEmpty( foo.Trim())

... Выдает исключение, поскольку foo имеет значение Null.

String.IsNullOrEmpty( foo ) || foo.Trim() == String.Empty

... Возвращает true

Конечно, вы можете реализовать его как функцию расширения:

static class StringExtensions
{
    public static bool IsNullOrWhiteSpace(this string value)
    {
        return (String.IsNullOrEmpty(value) || String.IsNullOrEmpty(value.Trim()));
    }
}